Android:可能不存在的布局组件

时间:2013-05-07 14:15:25

标签: android android-layout

我知道我可以为不同的屏幕尺寸设置不同的布局,但我想提取它所选择的信息。例如,在大型平板电脑的活动布局文件中,我想添加一个滚动浏览不同统计信息的视图,但在较小的手机上这看起来不太好,我宁愿什么都没有,因为这将是一个菜单(即片段过度,会分散实际目的)

所以我想写一些代码如下的代码:

if(xlarge) { (manipulate stuff) }

是否可以从某个地方提取正确的常量?

2 个答案:

答案 0 :(得分:2)

在您的代码中,使用findViewById获取仅存在于大屏幕布局中的View的引用。如果该引用== null,那么您知道您正在使用小屏幕布局,否则您知道您已经掌握了大屏幕版本。

答案 1 :(得分:1)

如果您真的不想使用碎片,请查看以下链接:
https://developer.android.com/reference/android/view/Display.html
https://developer.android.com/reference/android/util/DisplayMetrics.html

你可以像这样使用设备的大小:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
if (heightPixels > MIN_HEIGHT && widthPixels > MIN_WIDTH) {
  manipulate stuff...
}

编辑:

刚看到您对原始问题的评论。要获得屏幕尺寸类别,这个问题似乎可以回答:
How to determine device screen size category (small, normal, large, xlarge) using code?