我正在使用Android TextView
来显示CATALOG的名称。
我添加了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 :(得分: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>
答案 1 :(得分:0)
如果真的有必要,你可以在java代码中尝试这个。
String str = "Furniture and Books";
str = str.substring(0,8)+"...";
text_view.setText(str);
答案 2 :(得分: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"
/>
顺便说一句,使用&#34; sp&#34;在字体中是一种很好的做法......任何方式
其中EMS是文本视图应该包含的字符大小,在实践中,4 EMS使文本视图包含8个字符(您可以使用您的设备对其进行测试),如果您想根据它设置固定宽度charachters的数字,你可以使用
android:ems="4"
代替