我知道我可以为不同的屏幕尺寸设置不同的布局,但我想提取它选择了哪个布局的信息。例如,在大型平板电脑的活动布局文件中,我想添加一个滚动浏览不同统计信息的视图,但在较小的手机上这看起来不太好,我宁愿那里什么都没有,因为这将是一个菜单(即片段是多余的,会分散实际目的)
所以我想写一些代码,上面写着:
if(xlarge) {
(manipulate stuff)
}
是否可以从某处提取正确的常量?
我知道我可以为不同的屏幕尺寸设置不同的布局,但我想提取它选择了哪个布局的信息。例如,在大型平板电脑的活动布局文件中,我想添加一个滚动浏览不同统计信息的视图,但在较小的手机上这看起来不太好,我宁愿那里什么都没有,因为这将是一个菜单(即片段是多余的,会分散实际目的)
所以我想写一些代码,上面写着:
if(xlarge) {
(manipulate stuff)
}
是否可以从某处提取正确的常量?
在您的代码中,使用 findViewById 来获取对仅存在于您的大屏幕布局中的视图的引用。如果那个引用 == null 那么你知道你正在使用你的小屏幕布局,否则你知道你已经掌握了大屏幕版本。
如果您真的不想为此使用 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)?