如何在Android中以编程方式检查平板电脑大小

时间:2012-12-15 01:13:02

标签: android layout

现在,我这样做:

    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”与电话布局相同。我能否以务实的方式进行检查?

2 个答案:

答案 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 */
}

如果可能,请避免使用已弃用的largexlarge限定符,并使用新的sw<N>dp限定符。但是,根据您的目标受众和平台,您可能需要依赖较旧的方法,或者可能需要两者兼而有之。