在为 Android 3.x 制作应用程序时,您基本上可以只检查设备是否横向,看它是否可以并排放置多个 fragment 。但这只是因为你基本上可以保证该设备是平板电脑。
随着兼容性库和 android 4.0 的引入,我想不出什么是“好”的方法来确定我是否可以摆脱并排 fragment 或应该恢复到每个标准一个 fragment '屏幕。'
在 NewsReader 示例应用程序中,Google 为每个常见的分辨率都有一个特殊的值文件,每个文件都有一个 bool 值来表示该分辨率是否应该支持 2 fragment 布局,但我认为这种方式构思不佳。我能想到的唯一方法是检查屏幕的大小(猜测它是平板电脑还是至少大到不会破坏布局),然后检查方向。
因此,如果有人知道如何轻松有效地检查它,请告诉我!
最佳答案
您实际上可以使用以下命令查看屏幕尺寸类型(小、正常、大等):
getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK
这将返回一个整数,您可以根据以下任何一项进行检查:
Configuration.SCREENLAYOUT_SIZE_SMALL
Configuration.SCREENLAYOUT_SIZE_NORMAL
Configuration.SCREENLAYOUT_SIZE_LARGE
Configuration.SCREENLAYOUT_SIZE_UNDEFINED
然后你可以检查方向,使用
getResources().getConfiguration().orientation
哪个会匹配以下任何一种可能性
Configuration.ORIENTATION_PORTRAIT
Configuration.ORIENTATION_LANDSCAPE
Configuration.ORIENTATION_SQUARE
Configuration.ORIENTATION_UNDEFINED
有了这个,您基本上可以通过根据屏幕尺寸和方向在空间允许的情况下添加您的 fragment 来模拟多个 View 。
关于Android 判断是否应该使用多 fragment 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640759/