android字符串过长时用省略号来处理
TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下:
android:ellipsize="start" 省略号在开头
android:ellipsize="middle" 省略号在中间
android:ellipsize="end" 省略号在结尾
android:ellipsize="marquee" 省略号跑马灯显示
或者在程序中可通过setEillpsize显式设置
注: EditText不支持marquee属性
使用示例
<TextView
android:id="@+id/calendar_schedule"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:textSize="13sp"
tool:text="开重要会议"/>
效果预览
附送一个计算中英文混输字符串长度的方法,使用中文占两位,其他字符占1位的方法来计算,原本没发现textview自带过长省略功能的时候打算自己手撸的……..
private int calStrLen(String str) {
int m = 0;
char arr[] = str.toCharArray();
for (char c : arr) {
if (String.valueOf(c).matches("[u4e00-u9fa5]")) //中文字符
{
m = m + 2;
} else {
m = m + 1;
}
}
return m;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Yii的缓存使用详细教程
- 下一篇: JS遍历EL表达式中的List解决办法