0

我遇到了设备选择错误布局的问题。我已经根据屏幕尺寸定义了我的布局,并将它们分组到以下 - layout-sw600dp、layout-sw720dp 和 layout-sw480dp。

我有两个用于 sw600dp 的 7" 平板电脑。

1- 三星 7 英寸 Galaxy 选项卡 - 此设备采用 layout-sw600dp 中定义的正确布局。

2- 另一个 7" 设备 [从中国经销商处订购]- 此设备采用 10" 布局。

当我使用http://www.whatismyscreenresolution.com/时,两个设备都给出 1024x600 。

为了检查我以编程方式检索了最小屏幕宽度和屏幕宽度 [getResources().getConfiguration().smallestScreenWidthDp 和 screenWidthDp]。在第二台设备上,我得到的值为 720 和 1024。

关于如何进一步确保我的第二台设备也采用 layout-sw600dp 下定义的布局的任何想法。

问候普拉迪普

4

1 回答 1

0

此代码在该设备上返回什么?

    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    String pxSize = dm.widthPixels + " x " + dm.heightPixels;

它可能显示 720x1024。那是因为即使屏幕的物理尺寸为 600x1024 像素,您从这些方法中得到的也是制造商设置的值。这些设定值和实际值之间可能存在差异。

如果是这种情况,您无能为力。除了可能

 if ( "aTargetManufacturer".equals( android.os.Build.MANUFACTURER )  )
 {
     useAnotherLayout();
 }

但这显然不是一个好习惯。

于 2013-03-05T12:08:22.600 回答