我知道我可以为不同的屏幕尺寸设置不同的布局,但我想提取它所选择的信息。例如,在大型平板电脑的活动布局文件中,我想添加一个滚动浏览不同统计信息的视图,但在较小的手机上这看起来不太好,我宁愿什么都没有,因为这将是一个菜单(即片段过度,会分散实际目的)
所以我想写一些代码如下的代码:
if(xlarge) {
(manipulate stuff)
}
是否可以从某个地方提取正确的常量?
答案 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?