android:singleLine="true",单行显示
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/PopNameList"
android:singleLine="true"
android:ellipsize="end"
android:textStyle="bold" //加粗字体
android:textSize="15sp"
android:width="120dp"/>
android:ellipsize="end"
在TextView 和 EditText中,可以使用ellipsize来设置文字溢出隐藏,如:“一段很长的文本...”
用法如下:
在xml中
android:ellipsize = "end" 省略号在结尾
android:ellipsize = "start" 省略号在开头
android:ellipsize = "middle" 省略号在中间
android:ellipsize = "marquee" 跑马灯
最好加一个约束android:singleline = "true" 或者 android:maxLines="1"
- 当然也可以用代码语句
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
最好再加一个约束tv.setSingleLine(true);
注:EditText中不支持marquee模式!
以下显示两行,超出多余显示...
<TextView
android:id="@+id/question_listitem_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:textStyle="bold"//加粗字体
android:textSize="@dimen/text_size_15"
android:textColor="@color/listitem_black"
android:maxLines="2"
android:ellipsize="end"/>
对于多行的时候,比如4行,想设置溢出隐藏,可是发现只最多只能显示两行,不知是否android的bug。
<TextView
android:maxLines="4"
android:ellipsize="end"
......
/>