3 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
用這個(gè):
public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
如果設(shè)備在大屏幕上運(yùn)行,則返回true。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
您也可以嘗試在資源文件中使用此
Add boolean參數(shù)。
在res / values / dimen.xml文件中,添加以下行
<bool name="isTab">false</bool>
在res / values-sw600dp / dimen.xml文件中,添加以下行:
<bool name="isTab">true</bool>
然后在您的java文件中獲取以下值:
if(getResources().getBoolean(R.bool.isTab)) {
System.out.println("tablet");
} else {
System.out.println("mobile");
}

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
此代碼段將告訴您設(shè)備類型是否為7英寸或更大以及Mdpi或更高分辨率。您可以根據(jù)需要更改實(shí)現(xiàn)。
private static boolean isTabletDevice(Context activityContext) {
boolean device_large = ((activityContext.getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_LARGE);
if (device_large) {
DisplayMetrics metrics = new DisplayMetrics();
Activity activity = (Activity) activityContext;
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT
|| metrics.densityDpi == DisplayMetrics.DENSITY_HIGH
|| metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM
|| metrics.densityDpi == DisplayMetrics.DENSITY_TV
|| metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) {
AppInstance.getLogger().logD("DeviceHelper","IsTabletDevice-True");
return true;
}
}
AppInstance.getLogger().logD("DeviceHelper","IsTabletDevice-False");
return false;
}
- 3 回答
- 0 關(guān)注
- 1017 瀏覽
添加回答
舉報(bào)