我正在编写一款主要用于手机的应用,但有些用户会在平板电脑上使用。对于平板电脑用户,我想配置一些其他功能。我正在手机(Galaxy S手机 - 480 x 800)和平板电脑(Galaxy Tab 10.1“ - 800 x 1280)上进行测试。使用以下代码......
if ((getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {
Toast.makeText(this, "Tablet",Toast.LENGTH_LONG).show();
}
else if ((getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) {
Toast.makeText(this, "Phone" , Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this, "Neither" , Toast.LENGTH_LONG).show();
}
。 。 。手机出现“手机”,平板电脑“不”。但是the Android documentation表示SCREENLAYOUT_SIZE_LARGE是“至少大约480x640 dp单位。”
平板电脑上的BTW, getResources()。getConfiguration()表示screenWidthDp为1280,screenHeightDp为752.那么我怎么会错误地检测到平板电脑?提前致谢。
答案 0 :(得分:1)
刚刚在我的Galaxy Tab上测试过: 您还需要检查Configuration.SCREENLAYOUT_SIZE_XLARGE。