我遇到设备拾取错误布局的问题。 我根据屏幕大小定义了我的布局,并将其分组如下 - layout-sw600dp,layout-sw720dp和layout-sw480dp。
我有两个7“的sw600dp平板电脑。
1- Samsung 7“galaxy tab - 此设备采用布局-sw600dp中定义的正确布局。
2-另一台7“设备[从中国经销商处订购] - 这个设备采用10”布局。
当我使用http://www.whatismyscreenresolution.com/时,两个设备都会提供1024x600。
检查我以编程方式检索的最小屏幕宽度和屏幕宽度[getResources()。getConfiguration()。smallestScreenWidthDp和screenWidthDp]。在第二台设备上,我得到720和1024的值。
任何想法如何进一步确保我的第二个设备也采用layout-sw600dp下定义的布局。
问候 普拉迪普
答案 0 :(得分:0)
该代码在该设备上返回什么?
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
String pxSize = dm.widthPixels + " x " + dm.heightPixels;
它可能会显示720x1024。 这是因为即使屏幕的物理尺寸为600x1024px,您从这些方法获得的值也是制造商设定的值。这些设定值和实际值之间可能存在差异。
如果是这种情况,那么你无能为力。 除了可能
if ( "aTargetManufacturer".equals( android.os.Build.MANUFACTURER ) )
{
useAnotherLayout();
}
但这显然不是一种好的做法。