Android:LinearLayout(水平)切断了最后一列

时间:2013-04-05 09:34:53

标签: android android-linearlayout

非常简单的布局: 我有两个TextView显示在一行。布局以屏幕为中心,两个字符串以编程方式设置,第一个是可变长度字符串,第二个字符串是空的(或者说)“X”:

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:gravity="center_horizontal"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/lblSelectionName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="@string/empty"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/lblSelectionAttribute"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/empty"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>

请注意,第一个TextView是椭圆化的,以便在字符串大小超过TextView时切断字符串。 我希望有类似的东西:

“普通文字| X”(以屏幕为中心)

“超大文本必须是...... | X”(以屏幕为中心 - 填满屏幕)

但是会发生的情况是:第一个TextView已经完成,但是填满整个屏幕(-width),第二个TextView在屏幕外(分别包裹到下一行)。 无论如何,使用“重量”并没有帮助。将layout_height设置为固定值(例如15dp)也无济于事......

有人建议吗?

1 个答案:

答案 0 :(得分:2)

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
     >

    <TextView
        android:id="@+id/lblSelectionName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="asdhsagdkgfhgfhghg"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/lblSelectionAttribute"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="X"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>