我正在寻找创建自动扩展的2x2行的最佳解决方案。到目前为止我遇到的问题是左图是全尺寸,右图是缩小尺寸的。
图片尺寸为400x400像素,需要在所有设备上显示。
答案 0 :(得分:2)
在XML布局文件中使用Android TableLayout
。
注意:如果表格中有可变数量的行,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>
答案 1 :(得分:0)
在您的情况下,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>