修复了第二列

时间:2014-10-13 15:44:07

标签: android android-layout android-linearlayout

如何更改此布局,以便左列可以“增长”到底部而不会重叠/推开第二个?

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="1st column"
            android:id="@+id/textView1"
            android:gravity="center_vertical"/>

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="2nd column"
            android:id="@+id/textView2"
            android:textSize="10sp"
            android:gravity="center_vertical"/>
</LinearLayout>

像这样:
|这真是太长了......... || .................. |
|句子,它不.. ||一些文字| &lt; - 垂直居中的
|适合可用空间。 || .................. |

无论左栏中的句子有多长,右栏都应保持不变。 这是ListView的布局,因此TableLayout是不可能的。

2 个答案:

答案 0 :(得分:1)

尝试使用RelativeLayout

<?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="wrap_content" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/textView2"
        android:gravity="center_vertical"
        android:text="1st column"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:gravity="center_vertical"
        android:text="2nd column"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textSize="10sp" />

</RelativeLayout>

答案 1 :(得分:1)

如果要制作列

,可以在线性中使用权重
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<TextView
    android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="1st column"
        android:id="@+id/textView1"
        android:gravity="center_vertical"/>

 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="2nd column"
        android:id="@+id/textView2"
        android:textSize="10sp"
        android:gravity="center_vertical"/>

加权大小是在固定的分享后计算的