自動的にスケーリングする 2x2 行を作成するための最適なソリューションを探しています。これまでに直面した問題は、左の画像がフルサイズで、右の画像が大幅に縮小されていることです。
写真は 400x400 ピクセルで、おそらくすべてのデバイスで表示する必要があります。
TableLayout
XML レイアウト ファイルでAndroid を使用します。
注:GridView
テーブルに可変数の行がある場合に適しています。
2x2 例:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView android:layout_weight="1"
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ImageView android:layout_weight="1"
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView android:layout_weight="1"
android:id="@+id/imageView3"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ImageView android:layout_weight="1"
android:id="@+id/imageView4"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>
あなたの場合、TableLayoutは正常に動作します。固定数の列を保持し、GridViewを使用すると、アダプターやその他のものを処理して達成する必要があります。
以下は、Imageview で 2x2 列を作成する簡単な例です。
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow3"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/button1"
android:layout_weight="1"
android:layout_width="fill_parent"
android:background="@drawable/ic_launcher"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/button2"
android:layout_weight="1"
android:layout_width="fill_parent"
android:background="@drawable/ic_launcher"
android:layout_height="wrap_content" />
</TableRow>
</TableLayout>