0

間違ったレイアウトを選択するデバイスに問題があります。画面サイズごとにレイアウトを定義し、レイアウト-sw600dp、レイアウト-sw720dp、およびレイアウト-sw480dpの下にグループ化しました。

sw600dp用の7インチタブレットを2台持っています。

1- Samsung 7 インチ Galaxy タブ - このデバイスは、layout-sw600dp で定義されている正しいレイアウトを採用しています。

2- 別の 7 インチ デバイス [中国のディストリビューターから注文]- これは 10 インチ レイアウトを採用しています。

http://www.whatismyscreenresolution.com/を使用すると、両方のデバイスで 1024x600 が得られます。

確認するために、最小画面幅と画面幅 [getResources().getConfiguration().smallestScreenWidthDp と screenWidthDp] をプログラムで取得しました。2 番目のデバイスでは、720 と 1024 の値を取得します。

私の2番目のデバイスも layout-sw600dp で定義されたレイアウトを確実に取るために、さらに先に進むにはどうすればよいかについてのアイデア。

よろしくプラディープ

4

1 に答える 1

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();
 }

しかし、それは明らかに良い習慣ではありません。

于 2013-03-05T12:08:22.600 に答える