0

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

所以我想写一些代码,上面写着:

if(xlarge) { (manipulate stuff) }

是否可以从某处提取正确的常量?

4

2 回答 2

2

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

于 2013-05-07T14:27:53.690 回答
1

如果您真的不想为此使用 Fragments,请查看以下链接:
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...
}

编辑:

刚刚看到您对原始问题的评论。要获取屏幕尺寸类别,这个问题似乎回答了它:
如何使用代码确定设备屏幕尺寸类别(小、正常、大、xlarge)?

于 2013-05-07T14:35:46.923 回答