0

我正在使用Android TextView來顯示CATALOG的名稱。Android TextView ellipsize

我爲TextView外部佈局(150dp)添加了特定寬度。

我想在文本有更多長度時顯示「...」。

<RelativeLayout 
      android:id="@+id/textview_layout" 
      android:layout_width="150dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center"   
      android:orientation="vertical" > 

      <TextView 
       android:id="@+id/catalog_name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"     
       android:layout_centerInParent="true" 
       android:gravity="center_vertical" 
       android:textColor="@color/blue" 
       android:textSize="20dp" 
       android:singleLine="true"     
       android:ellipsize="end" 
       /> 
     </RelativeLayout> 

目錄名稱:傢俱和書籍

我的結果顯示:

傢俱...

但我的期望結果是

傢俱和。 ..(或)傢俱......

我想在目錄名稱中有沒有空格時顯示「...」。

+0

你試過'安卓maxLength' –

+0

進出口使用的android:單線= 「真」。不需要maxLength屬性。 – vinoth

+0

這不適用於部分Android手機,但適用於HTC和其他Android設備。這是我的經驗。 –

回答

0

請檢查是否這工作

<RelativeLayout 
    android:id="@+id/textview_layout" 
    android:layout_width="150dp" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/catalog_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:gravity="center_vertical" 
     android:singleLine="true" 
     android:text="Furniture and Books" 
     android:textColor="@android:color/holo_blue_dark" 
     android:textScaleX="1.1" 
     android:textSize="20dp" /> 

</RelativeLayout> 
0

你可以試試這個在Java代碼中,如果真的有必要。

String str = "Furniture and Books"; 
str = str.substring(0,8)+"..."; 
text_view.setText(str); 
0

嘗試設置EMS爲您的文本視圖,如:在字體

<TextView 
    android:id="@+id/catalog_name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"     
    android:layout_centerInParent="true" 
    android:gravity="center_vertical" 
    android:textColor="@color/blue" 
    android:textSize="20sp" 
    android:singleLine="true"     
    android:ellipsize="end" 
    android:maxEms="4" 
    /> 

的方式,使用「SP」是一個很好的做法......任何方式

哪裏EMS是你的textview應該容納的字符的大小,在實踐中,4個EMS使得文本視圖可以容納8個字符(你可以用你的設備測試它),如果你想根據字符的數量給它一個固定的寬度,你可以使用

android:ems="4" 

代替