现在,我这样做:
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) {
actionBar.removeAllTabs();
} else { // other stuff to do
}
然而,我希望这只能证明它是真的,如果它是10“+平板电脑,或XLarge。不是7英寸(例如Nexus 7)。我希望7”与电话布局相同。我能否以务实的方式进行检查?
答案 0 :(得分:3)
您应该避免在代码中执行此操作,而是为sw720dp
定义为您的布局定义资源限定文件夹(即您应该在res/layout-sw720dp
下创建10“布局)。避免使用{ {1}}和large
限定符,并且依赖于可用的与密度无关的像素数。
有关详细信息,请参阅Supporting Multiple Screens上的此部分。
答案 1 :(得分:2)
将SCREENLAYOUT_SIZE_LARGE
替换为SCREENLAYOUT_SIZE_XLARGE
:
if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE) {
/* implementation */
}
如果可能,请避免使用已弃用的large
和xlarge
限定符,并使用新的sw<N>dp
限定符。但是,根据您的目标受众和平台,您可能需要依赖较旧的方法,或者可能需要两者兼而有之。