基本的には、2x4グリッドに分割する必要があります。各セクションのサイズは同じです(つまり、各行は画面の高さの25%になります。画面の幅の50%)。Androidでグリッドのようなレイアウトを作成する
私のアプローチは、ウェイトが0.5の2つの内部LinearLayoutを使用して水平LinearLayoutを使用し、次にそれぞれのLinearLayoutsで、子のウェイトを0.25に設定して、それぞれが画面の25%を占めるようにしました。
これが動作しているようですが、これは明らかに、パフォーマンスのために非常に悪いです
(なぜWhy are nested weights bad for performance? Alternatives?理由でこのスレッドを参照)、これを達成するためのいずれかの選択肢がありますか?私は周り見ているが、私はこれに純粋なXMLソリューションを見つけることができません。
は、私はあなたがGridLayoutにスピンを与えたいと思うかもしれませんLinearLayoutsと子供たちのセットアップ
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:weightSum="1.0"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="0.5"
android:weightSum="1.0">
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="0.5"
android:weightSum="1.0">
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dip"
android:src="@drawable/example"
android:layout_gravity="center_horizontal"
android:layout_weight="0.25"
/>
</LinearLayout>
</LinearLayout>
私はこれを試してみましょう、ありがとう:) – rastating