Android アプリを更新していて、考えられるすべての画面サイズ (レイアウト小、レイアウト大など) のレイアウトを作成したことに気付きました。変化する。すべての画面サイズをサポートする単一の XML ファイルを作成しようとしています。Android のドキュメントと stackoverflow に関するその他の質問を確認した後、レイアウト内の各アイテムに weightSum と layout_weight を指定できるため、LinearLayout が最適な選択であると思われます。これは期待どおりに機能しません (以下のコードと画像を参照)。私はこれを正しくやっていますか?考えられるすべての画面サイズに対して RelativeLayout の作成に戻る必要がありますか?
私の画像は単一の描画可能なフォルダーであり、私のレイアウトは単一のレイアウト フォルダーにあります。
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:gravity="center"
android:orientation="vertical"
android:weightSum="100" >
<ImageButton
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/image0"
android:background="@null"
android:layout_weight="30" />
<ImageButton
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/image1"
android:background="@null"
android:layout_weight="30" />
<ImageButton
android:id="@+id/key"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="30"
android:background="@null"
android:src="@drawable/image0_key" />
<TextView
android:id="@+id/tvScore"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Score: 0"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_weight="10"
android:layout_gravity="left" />
</LinearLayout>
結果のビュー (項目のオーバーフローと画面サイズのレイアウトが一致しない)
ネクサス ワン:
タブレット:
編集:次の drawable-____ フォルダーを追加しました。同じ結果が得られます。