如何使用表格布局在图像视图上设置文本?

时间:2014-10-15 03:59:42

标签: android xml android-layout android-studio

我使用android studio而且在XML文件中我使用表格布局并将图像视图放在表格行上,我必须在图像视图上设置文本,这怎么可能?

我的出局是:http://postimg.org/image/czfu60751/

原始出局是:http://postimg.org/image/ea19hefpv/

XML code:
<TableRow
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:gravity="center_horizontal">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="390dp"
        android:layout_height="300dp"
        android:background="@drawable/letestnews"
        android:text="@string/letestnews"
        android:textColor="#000"
        android:padding="20dip"
        android:gravity="center" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_weight="1"
        android:text="@string/babaji"
        android:layout_height="fill_parent"
        android:background="@drawable/babaji"
        android:textColor="#000"
        android:padding="20dip"
        android:gravity="center"/>
</TableRow>

<TableRow
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:gravity="center_horizontal">

<ImageView
    android:id="@+id/imageView2"
    android:layout_weight="1"
    android:layout_height="300dp"
    android:layout_width="fill_parent"
    android:background="@drawable/babajispeaks"
    android:text="@string/babajispeaks"
    android:textColor="#ffffff"
    android:gravity="center"/></TableRow>

<TableRow
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:gravity="center_horizontal">
    <ImageView
        android:id="@+id/imageView3"
        android:layout_height="300dp"
        android:background="@drawable/meditation"
        android:text="@string/meditation"
        android:layout_weight="1"
        android:textColor="#ffffff"
        android:padding="20dip"
        android:gravity="center"
        />

    <ImageView
        android:id="@+id/imageView4"
        android:layout_height="300dp"
        android:layout_width="390dp"
        android:background="@drawable/teaching"
        android:text="@string/teaching"
        android:textColor="#ffffff"
        android:padding="20dip"
        android:gravity="center" />
    </TableRow>

2 个答案:

答案 0 :(得分:2)

一个选项是让你的表行包含RelativeLayouts,每个包含一个ImageView和TextView重叠。

将“...”视为您的布局规范。

例如:

<TableRow ...>

    <RelativeLayout ...>
        <ImageView .../>
        <TextView .../>
    </RelativeLayout>

    <RelativeLayout ...>
        <ImageView .../>
        <TextView .../>
    </RelativeLayout>

    ...

</TableRow>

答案 1 :(得分:1)

请尝试这种方式,希望这有助于您解决问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <FrameLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:src="@drawable/ic_launcher"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Image 1"
                android:layout_margin="5dp"
                android:layout_gravity="bottom"/>

            </FrameLayout>
        <FrameLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:src="@drawable/ic_launcher"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Image 2"
                android:layout_margin="5dp"
                android:layout_gravity="bottom"/>

        </FrameLayout>
        </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:src="@drawable/ic_launcher"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Image 3"
                android:layout_margin="5dp"
                android:layout_gravity="bottom"/>

        </FrameLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <FrameLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:src="@drawable/ic_launcher"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Image 4"
                android:layout_margin="5dp"
                android:layout_gravity="bottom"/>

        </FrameLayout>
        <FrameLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="fitXY"
                android:src="@drawable/ic_launcher"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Image 5"
                android:layout_margin="5dp"
                android:layout_gravity="bottom"/>

        </FrameLayout>
    </LinearLayout>
</LinearLayout>