0

我有兩個TextView在其中的LinearLayout - textNametextPrice。所述textName的性質:在LinearLayout中裁剪textView

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

textPrice的屬性:

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

在這種情況下,當textName長,它延伸在整個線和關閉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),當它的時間太長?

謝謝。

回答

1

設置ellipsize屬性在TextView和更好的在這兩個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> 
0

您可以使用android:maxEMS(EMS是指佔用字符的最大空間,技術上由E或M佔用的空間)並選擇特定的長度。如果文字太長,它會自動添加三個點(...)。

1

android:ellipsize="end" 

TextView

0

使用weight你應該在你的TextView設置android:ellipsize