0

我有带有两个 TextView 的 LinearLayout -textNametextPrice. 的属性textName

android:layout_width="wrap_content"
android:layout_height="wrap_content"

和属性textPrice

android:layout_width="fill_parent"
android:layout_height="wrap_content"

textName长的情况下,它会延伸到整条线并关闭 a textPrice

这是我的 xml 标记:

<LinearLayout
        android:id="@+id/textNameTimeHolder"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_toRightOf="@+id/thumbnail" android:layout_alignBottom="@+id/thumbnail">
    <TextView
            android:id="@+id/textName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Неудержимые 3"
            android:textColor="#040404"
            android:typeface="sans"
            android:textSize="15sp"
            android:textStyle="bold"
            android:singleLine="true"
            android:layout_toLeftOf="@+id/textPrice"/>
    <TextView
            android:id="@+id/textPrice"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="15sp"
            android:text="150 - 220 сом"
            android:layout_marginRight="5dp"
            android:layout_gravity="right"/>
</LinearLayout>

当它太长时,如何裁剪textName(使用)?singleline

谢谢。

4

4 回答 4

1

  android:ellipsize="end"

为您的TextView.

于 2014-09-29T07:41:01.317 回答
1

在你的设置ellipsize属性,TextView最好weight在两者中使用TextView

<LinearLayout
        android:id="@+id/textNameTimeHolder"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_toRightOf="@+id/thumbnail"
        android:layout_alignBottom="@+id/thumbnail">
    <TextView
            android:id="@+id/textName"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ellipsize="end"
            android:text="Неудержимые 3"
            android:textColor="#040404"
            android:typeface="sans"
            android:textSize="15sp"
            android:textStyle="bold"
            android:singleLine="true"/>
    <TextView
            android:id="@+id/textPrice"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ellipsize="end"
            android:gravity="right"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="15sp"
            android:text="150 - 220 сом"
            android:layout_marginRight="5dp"
            android:layout_gravity="right"/>
</LinearLayout>
于 2014-09-29T07:41:43.387 回答
0

您可以使用android:maxEMS(EMS 是一个字符占用的最大空间,技术上是 E 或 M 占用的空间)并选择一个特定的长度。如果文本太长,它将自动附加三个点(...)。

于 2014-09-29T07:36:54.497 回答
0

你应该设置android:ellipsize你的文本视图。

于 2014-09-29T14:06:42.483 回答