私はlayout
、いくつかのカスタマイズされたボタンを備えたシンプルなアンドロイドを作成しています(アンドロイドがデフォルトで提供するものではありません)。画像は画面サイズ2.7から5.1で適切に表示されます。ただしbuttons
、画面サイズ 5.4 以上では引き伸ばされているように見えます (画面サイズ 7 まで試してみました)。密度の異なる同じ名前の 4 つの同じ画像を作成し、それに対応してフォルダーに配置しました。画面ごとに異なる画像ldpi,mdpi,hdpi,xhpi
を作成する必要があるかどうかを知る必要があります。または、Android は対応するフォルダーから自動的に画像を取得しますか? Android モバイル デバイスを対象とlayouts
する作成に苦労しているため、これについて Android を初めて使用するので、誰かが私を案内してください。layouts
5 に答える
レイアウトを一貫して設計すれば、異なるlayout
フォルダー ( layout-land
、layout-large
、 )を定義する必要はありません。layout-small
がそれAndroid OS
を処理します(表示に関してimages
)。あなたがしなければならない唯一のことは<support-screens>
、あなたmanifest
とその下 に を追加することです<support-screens>
:
<supports-screens android:resizeable=["true"| "false"]
android:smallScreens=["true" | "false"]
android:normalScreens=["true" | "false"]
android:largeScreens=["true" | "false"]
android:xlargeScreens=["true" | "false"]
android:anyDensity=["true" | "false"]
android:compatibleWidthLimitDp="integer"
android:largestWidthLimitDp="integer"/>
一貫したレイアウトを作成するためのヒント:
- 、などの
layout
パラメータをハードコーディングしないでください。width
height
px
" "は使用しないでください。sp
テキスト サイズには "dp
" を使用しlayout-width
、layout-height
などには " " を使用します。RelativeLayout
andを使用し、非推奨であるLinearLayout
ため使用しないでください。AbsoluteLayout
- singleView をサポートするため、
ScrollView
必要に応じて使用します。layouts
詳細については、Support Multiple Screensの Android 開発者ドキュメントを確認してください。
画面サイズごとに異なるレイアウト xml を作成し、それらを res フォルダーに配置する必要があります。
Android のバージョンによって密度が異なる場合は、次のようにします。
res/layout/mylayout.xml # Default layouts
res/layout-v4/mylayout.xml # Android 1.6 layouts
res/layout-v11/mylayout.xml # Android 3.0 layouts
画面サイズが異なる場合は、次のようなレイアウトが必要です。
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)
これらの異なるレイアウト (修飾子) の詳細については、こちらを参照してください。
この質問とその回答も参照してください。
注: 異なる画面サイズを処理する場合は、常に相対的なレイアウトを使用してください。それはプラスです。
編集
リソース修飾子について詳しく知るには、これらのリンクが役立ちます。
次のリンクは、Android で複数の画面をサポートすることを理解するのに役立ちます: http://developer.android.com/guide/practices/screens_support.html
すべての密度フォルダーに異なる写真がある場合、android は対応するフォルダーから自動的に取得します。密度フォルダーで 9 パッチ イメージを使用していることを確認してください。
Android で複数の画面をサポートするをご覧ください 。
これをmanifest.xmlで使用します
<supports-screens
android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"/>
さまざまなモバイル デバイスの Android 画面サイズを解決するにはどうすればよいですか?
http://developer.android.com/guide/practices/screens_support.html