Android 2x2行自动缩放的图像行

时间:2013-04-01 05:52:49

标签: java android

我正在寻找创建自动扩展的2x2行的最佳解决方案。到目前为止我遇到的问题是左图是全尺寸,右图是缩小尺寸的。

图片尺寸为400x400像素,需要在所有设备上显示。

2 个答案:

答案 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>