TableRow内容超出了屏幕尺寸

时间:2014-07-21 22:42:04

标签: android

我有一个设计问题,不知道为什么会这样做,这就是我在这里的原因。这是图像和代码。希望你们能帮助我。

http://i60.tinypic.com/fwr8mh.jpg(图片链接)

<TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2:00 [Extended]"
                android:textColor="#ffffff" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/light" />
        </TableRow>

谢谢。

根据要求[当前代码]:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#2f4f4f" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#36444e" >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:text="Brewing:"
                    android:textColor="#ffff00" />
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#36444e" >

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:src="@drawable/ghasttear" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#36444e" >

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="32dp"
                    android:layout_weight="1"
                    android:src="@drawable/brewingarrow" />
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#36444e" >

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity=""
                    android:layout_weight="1"
                    android:src="@drawable/waterbottle" />
            </TableRow>


            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#ffffff" />

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:text="Potion Time"
                    android:textColor="#ffffff" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:text="0:45 [Non-Extended]"
                    android:textColor="#ffffff" />
            </TableRow>

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="50dp"
                    android:layout_height="wrap_content"
                    android:text="2:00 [Extended]"
                    android:textColor="#ffffff"
                    android:ellipsize="end" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/light" />
            </TableRow>

            <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="#ffffff" />

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:text="Potion Description"
                    android:textColor="#ffffff" />
            </TableRow>

            <TableRow
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center_horizontal"
                    android:text="Poyion time lasts for 0:45 when not extended."
                    android:textColor="#ffffff" />
            </TableRow>
        </TableLayout>
    </RelativeLayout>

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

因此,在每个TableRow组件中,您可以只有一个孩子View. So, in order to have a TextView and an ImageView , you have to place those Views inside another View, like a LinearLayout or a RelativeLayout`,这样您就可以控制他们的立场。

所以,在你的&#34;有问题的&#34; TableRow,只需将其更改为:

     <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <TextView
                    android:layout_width="wrap_content"
                    android:id="@+id/extendedText"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_alignParentLeft="true"
                    android:text="2:00 [Extended]"
                    android:textColor="#ffffff" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_alignParentRight="true"
                    android:src="@drawable/light" />
            </RelativeLayout>
        </TableRow>

我只是将ImageViewTextView放在RelativeLayout内,并将TextView对齐到其父视图左侧(即RelativeLayout)和{ {1}}在右边。如果您的文字不会太长,请不要介意ImageView值。