画面の大きさがわからないため、絶対値を使用しないでください。アプリに報告される dp を選択するアプリもあります。
あなたの例を見てみましょう。チェス盤のビューがあるかもしれませんCell
。次に、それらを LinearLayout に配置できます (View
の代わりに が使用されますCell
)。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="8">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="8">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/white" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/black" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/white" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/black" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/white" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/black" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/white" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@android:color/black" />
</LinearLayout>
...
これにより、次の結果が得られます (上記の例では、最初の行のみを示しています)。
ご覧のとおり、画面はmatch_parent
絶対値を使用せずに完全に使用されています (ルート ビューで使用されているため)。もちろん、これを特定のニーズに合わせて変更することもできます。おそらく、そこにさらにいくつかのビューを配置する必要があるからです。
注: 実際にはこのようにしないでください。この例ではネストされた重みを使用していますが、これはパフォーマンスに悪影響を及ぼします。これは、その方法を理解するためのものです。