0

现在,我这样做:

    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" 与手机的布局相同。我可以务实地做这个检查吗?

4

2 回答 2

3

您应该避免在代码中这样做,而是为定义的布局创建一个资源限定文件夹sw720dp(即,您应该在 下创建 10" 布局res/layout-sw720dp)。避免使用largexlarge限定符,并依赖可用的与密度无关的像素数.

有关更多信息,请参阅支持多个屏幕的本节。

于 2012-12-15T01:24:17.023 回答
2

替换SCREENLAYOUT_SIZE_LARGESCREENLAYOUT_SIZE_XLARGE

if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE) {
    /* implementation */
}

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

于 2012-12-15T01:29:22.903 回答