如果我的TextView的大于1行,我怎么能显示省略号?

我有以下布局不起作用:

<LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:id="@+id/experienceLayout" android:background="#ffffff" android:layout_height="match_parent" android:paddingLeft="6dp" android:paddingRight="6dp" android:paddingBottom="6dp" android:paddingTop="6dp"> <TextView android:layout_weight="1" android:id="@+id/experienceLabel" android:text="Experience" android:layout_height="wrap_content" android:textColor="#000000" android:layout_width="wrap_content" android:textStyle="bold"> </TextView> <TextView android:id="@+id/experienceTextView" android:text="TextView" android:layout_height="wrap_content" android:textColor="#000000" android:layout_width="wrap_content" android:ellipsize="end" android:lines="1" android:maxLines="1" android:singleLine="true" android:fadeScrollbars="false"> </TextView> </LinearLayout> 

这是一个普遍的问题。 尝试使用以下内容:

 android:scrollHorizontally="true" android:ellipsize="end" android:maxLines="1" 

………….. scrollHorizo​​ntally是使其工作的“特殊酱料”。

这也将使椭圆形的单行

  android:singleLine="true" 

它在多个设备/ API上的工作方式是这样编程的(其中电视是你的TextView):

  if (tv.getLineCount() > 1) { int lineEndIndex = tv.getLayout().getLineEnd(0); String text = tv.getText().subSequence(0, lineEndIndex - 3) + "\u2026"; tv.setText(text); } 

用这个

机器人:ellipsize = “结束”
机器人:单线=“真”


不要使用这个完全知道什么出来

机器人:ellipsize = “结束”
机器人:MAXLINES = “1”

当你使用maxlines = 1时,它会截断大部分字符。