表格布局与2x2相等的imageview

时间:2015-08-10 13:29:10

标签: android-layout imageview tablelayout

我试图创建一个包含文本字段的布局(放置在屏幕顶部),在它下面,我需要以2x2的表格形式显示图像。我希望将所有图片显示为相同的尺寸。

我使用了相对布局,嵌套表格布局,但由于某种原因,我无法使用相同尺寸的图像视图。它总是以不同的尺寸展示它们。

...
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/button"
    android:layout_below="@+id/TextView">

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="???"
            android:layout_height="???"
            android:layout_weight="1"
        </ImageView>

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="???"
            android:layout_height="???"
            android:layout_weight="1">
        </ImageView>
    </TableRow>

    <TableRow>

        android:id="@+id/tableRow2"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="???"
            android:layout_height="???"
            android:layout_weight="1" >
        </ImageView>

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="???"
            android:layout_height="???"
            android:layout_weight="1" >
        </ImageView>
    </TableRow>

谢谢!

2 个答案:

答案 0 :(得分:0)

而不是TableLayout,你可以使用LinearLayout和weight:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="vertical"
    android:weightSum="2" >

    <TextView
        android:id="@+id/textViewAnim"
        android:text="@string/my_text"
    android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <!-- 2 images in a row -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:baselineAligned="false"
        android:orientation="horizontal"
        android:weightSum="2" >

        <ImageView
            android:id="@+id/image1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
        android:src="@drawable/my_image" />

        <ImageView
            android:id="@+id/image2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
        android:src="@drawable/my_image" />
    </LinearLayout>

    <!-- ............... -->


    <!-- 2 images in a row -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:baselineAligned="false"
        android:orientation="horizontal"
        android:weightSum="2" >

        <ImageView
            android:id="@+id/image3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
        android:src="@drawable/my_image" />

        <ImageView
            android:id="@+id/image4"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
        android:src="@drawable/my_image" />
    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

<LinearLayout
    android:layout_width="409dp"
    android:layout_height="396dp"
    android:baselineAligned="false"
    android:orientation="vertical"
    android:weightSum="2"
    android:layout_marginTop="50dp"
    android:layout_marginLeft="30dp">

        <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/animals" />

        <ImageView
        android:id="@+id/image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/aquatic" />

</LinearLayout>

<LinearLayout
    android:layout_width="458dp"
    android:layout_height="396dp"
    android:layout_weight="1"
    android:baselineAligned="false"
    android:orientation="vertical"
    android:weightSum="2"
    android:layout_marginTop="50dp"
    android:layout_marginLeft="30dp">

        <ImageView
        android:id="@+id/image3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/flowers" />

        <ImageView
        android:id="@+id/image4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/birds" />
</LinearLayout>