想要将文本设置为表格行内的linearlayout的底部

时间:2014-10-31 20:12:59

标签: android android-layout layout tablelayout tablerow

我有这样的布局:     

  <TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/titles1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="0dp"
        android:orientation="vertical"
        android:paddingLeft="0dp"
        android:paddingRight="0dp"
        android:paddingTop="0dp" >

        <TextView
            android:id="@+id/firstLine1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="First Row"
            android:textSize="20sp" >
        </TextView>

        <TextView
            android:id="@+id/secondLine1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:gravity="bottom"
            android:text="2nd Row"
            android:textSize="16sp" >
        </TextView>
    </LinearLayout>

    <ImageView
        android:id="@+id/logo1"
        android:layout_marginTop="0dp"
        android:paddingTop="0dp"
        android:src="@drawable/dji" >
    </ImageView>
  </TableRow>
</TableLayout>

我尝试将第二行设置为此表格行内部的布局底部,并且该linearlayout将占用整个行空间。我试图调整参数,但到目前为止,我无法做到。

有什么建议吗?我的布局好吗?还是其他更好的选择?

它显示了布局。 enter image description here

2 个答案:

答案 0 :(得分:1)

尝试使用layout_weight属性(documentation)。您可以使用固定TextView设置第一个和第二个height,并添加一个占位符View,其中height设置为0weight设置为{ {1}}。我希望这会有所帮助:)

1

答案 1 :(得分:1)

将LinearLayout转换为FrameLayout:

<FrameLayout
    android:id="@+id/titles1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginTop="0dp"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingTop="0dp">

    <TextView
        android:id="@+id/firstLine1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="top"
        android:text="First Row"
        android:textSize="20sp">
    </TextView>

    <TextView
        android:id="@+id/secondLine1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:text="2nd Row"
        android:textSize="16sp">
    </TextView>
</FrameLayout>

或者在LinearLayout上使用权重:

<LinearLayout
    android:id="@+id/titles1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginTop="0dp"
    android:orientation="vertical"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingTop="0dp">

    <TextView
        android:id="@+id/firstLine1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="top"
        android:text="First Row"
        android:textSize="20sp">
    </TextView>

    <TextView
        android:id="@+id/secondLine1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:gravity="bottom"
        android:text="2nd Row"
        android:textSize="16sp">
    </TextView>
</LinearLayout>