【问题标题】:Control tablet / phone layout on 3.2+在 3.2+ 上控制平板电脑/手机布局
【发布时间】:2011-10-31 21:11:18
【问题描述】:

3.2 引入了一种创建布局的新方法...通过在 res 文件夹中使用 layout-swXXXdp。 问题是它控制 dp 中 SmallestWidth 使用的布局。这很好,但是如果您有一台 1024x600 的平板电脑和一台 1024x768 的平板电脑,就会出现问题。我的应用程序仅是横向的。它是一个gridview,一行中有一定数量的项目。问题是我需要gridview根据高度分辨率调整一行中有多少项目。所有 1024 像素的屏幕在 gridview 行中应该有 5 个项目,而所有 1280 像素的平板电脑应该在 gridview 行中有 6 个项目。它不应该基于宽度,因为这样 gridview 会被压扁。我怎样才能做到这一点? (我的布局选择基于高度,而不是宽度)

【问题讨论】:

    标签: android layout gridview height width


    【解决方案1】:

    请试试这个

    获取显示的高度和宽度

    Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight();
    

    检查GridView声明后的高度并相应设置列数

    例如

    GridView gridView = (GridView)findViewById(R.id.app_gridview);
    if(height <= 1024){
       gridView.setNumColumns(5);
    }else {
       gridView.setNumColumns(6);
    }
    

    我认为这会解决问题

    【讨论】:

    • 很抱歉没有早点标记这个答案!感谢您的帮助 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 2013-06-25
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多