2016-08-30 11 views
1

デバイス4.0,4.5、および5.0に異なるレイアウトが必要です。Android 4.0、4.5、5.0デバイス用の異なるレイアウト

しかし、私は使用して画面サイズ幅チェック:

Display display = getWindowManager().getDefaultDisplay(); 
DisplayMetrics outMetrics = new DisplayMetrics(); 
display.getMetrics(outMetrics); 

float density = getResources().getDisplayMetrics().density; 
float dpWidth = outMetrics.widthPixels/density; 

そして

Sony Xperia Sp I have W: 360.0 H: 592.0 
Sony Xperia Z I have the same result W: 360.0 H: 592.0 

上のが、画面は貴様の大きさを持っており、レイアウトは本当に切り抜い見えます。

このデバイスサイズと他のデバイスサイズのレイアウトを正しく作成するにはどうすればよいですか?

EDIT:この場合

携帯電話の一つは、デバイス設定でフォントサイズを変更していたので、レイアウトが本当に異なって見える.. GGまあテスターを果たした:)

Thxをすべて。アップ票。

+0

トレーニングチュートリアルhttps://developer.android.com/training/basics/supporting-devices/index.htmlを読みますAndroidのようなものはありません4.5 – mhenryk

+1

@mhenryk OPは対角線の画面を参照しているようです4.5インチ – Henry

答えて

1

Androidは濃度非依存ピクセル(dp)を使用しているため、さまざまなサイズに適応するのは簡単です。 resフォルダでは、layout-w320pのようなサブフォルダを作成し、そのフォルダ内のレイアウトをカスタマイズして、異なるスクリーンサイズに適応させます。

FrameLayoutの代わりにRelativeLayoutを使用し、アイテムをデバイスに対して相対的に配置してください。アイテムのサイズは、自動的にデバイスに縮小されるようにwrap_contentにする必要があります。あなたはすでにそれを知っているので、

+0

私はそれを知っています。 http://stackoverflow.com/questions/39221526/android-using-wrong-layout/39221695?noredirect=1#comment65781728_39221695 – Esperanz0

1

あなたはピクセル単位で正確な幅に基づいて、異なるレイアウトを提供することができます。

res/layout/main_activity.xml   # For handsets (smaller than 600dp available width) 
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger) 
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger) 

res/layout/main_activity.xml   # For handsets (smaller than 600dp available width) 
res/layout-w600dp/main_activity.xml # Multi-pane (any screen with 600dp available width or more) 

公式アンドロイドドキュメントに関するSupporting Multiple Screens

+0

私は知っています。しかし、私は、2つの異なるデバイス(とサイズ)がdpで同じ幅を持っていると言いました。だから私の例sw320dpで同じレイアウトを使用しています。しかし、私はソニーのSPとZのために異なると思った。 – Esperanz0

+0

ああ大丈夫、彼らはアンドロイドの電子バージョンがありますか?次に、プラットフォームのバージョンが – AndroidMechanic

1

ソニーのXperia SpのIを読みますW:360.0 H:592.0ソニーXperia Sp W:360.0 H:592.0

ソニーXperia Z私は同じ結果を持っていますW:360.0 H:592.0。

これは画面サイズではありません。デバイスの画面解像度に完全に依存します。

あなたが別のレイアウトや値ファイルを作成する必要があり、この画面の解像度を維持した場合など

値-sw320dp-hdpi 値-sw320dp-xhdpi 値-sw320dp-xxhdpi

OR

drawable-sw320dp-hdpi
あり、追記 -描画可能sw320dp-xhdpi

描画可能sw320dp-xxhdpi

+0

の場合、追加の修飾子を追加することができます。値sw320dp-hdpi value-sw320dp-xhdpi value-sw320dp-xxhdpi –

関連する問題