两个元素垂直排列在TableRow内

时间:2014-04-25 11:03:51

标签: android android-tablelayout tablerow

我有一个实现Android的TableLayout的布局设计 以下是此链接上显示的当前设计图像:

enter image description here

“Detail”和它下面的TextView在不同的TableRow(两个tableRows)中  我想只在一个TableRow中创建“Detail”和TextView。 我试图把它们放在一个TableRow中,但TextView总是显示在“Detail”的右边,而不是垂直在它下面。

以下是该图片的代码:

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dip"
    android:background="@drawable/labeldetail_background"
    android:paddingBottom="10dip" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right"
        android:paddingRight="20dip"
        android:paddingTop="5dip"
        android:text="Detail"
        android:textColor="#000000" />
</TableRow>
<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/labeldetail_background"
    android:gravity="center_horizontal"
    android:paddingBottom="10dip"
    android:paddingLeft="15dip"
    android:paddingRight="15dip"
    android:paddingTop="10dip" >
    <TextView
        android:layout_width="285dip"
        android:layout_height="wrap_content"
        android:background="@drawable/text_background"
        android:gravity="center_horizontal"
        android:maxLines="10"
        android:padding="6dip"
        android:singleLine="false"
        android:text="Lorem Ipsum - test text for detail of the information, multiline textview" />
</TableRow>

一个TableRow中的两个元素是否可能垂直排列?如果是,请告诉我如何

提前致谢

4 个答案:

答案 0 :(得分:2)

在tableview内部包含LinearLayout中的detail和textView,其方向为vertical。

 <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip"
        android:background="@drawable/labeldetail_background"
        android:paddingBottom="10dip" >

        <LinearLayout
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" 
         android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"
            android:paddingRight="20dip"
            android:paddingTop="5dip"
            android:text="Detail"
            android:textColor="#000000" />

        <TextView
            android:layout_width="285dip"
            android:layout_height="wrap_content"
            android:background="@drawable/text_background"
            android:gravity="center_horizontal"
            android:maxLines="10"
            android:padding="6dip"
            android:singleLine="false"
            android:text="Lorem Ipsum - test text for detail of the information, multiline textview" />
    </LinearLayout>
    </TableRow>

答案 1 :(得分:1)

试试这个..

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dip"
    android:gravity="center_vertical"
    android:background="@drawable/labeldetail_background"
    android:paddingBottom="10dip" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right"
        android:paddingRight="20dip"
        android:paddingTop="5dip"
        android:text="Detail"
        android:textColor="#000000" />
    <TextView
        android:layout_width="285dip"
        android:layout_height="wrap_content"
        android:background="@drawable/text_background"
        android:gravity="center_horizontal"
        android:maxLines="10"
        android:padding="6dip"
        android:singleLine="false"
        android:text="Lorem Ipsum - test text for detail of the information, multiline textview" />

</TableRow>

答案 2 :(得分:0)

您只需将元素包装成LinearLayout

即可

答案 3 :(得分:0)

首先使用垂直方向创建线性布局。添加任意数量的视图 到那个线性布局。然后将该线性布局添加到表行。