TextView在Android开发中用到的地方应该是很多的。很多时候,TextView会有一行显示不全被截取或者会换行。之前我的解决办法比较笨拙,定死TextView的一行字数长度,最后一个以省略号代替,这样做会有很多问题,Android手机的适配是一个头疼的问题。而且汉字和英语符号所占的宽度也不一样,比较头疼。发现一个方法比较简单,分享一下。Android为TextView提供了setEllipsize方法,通过这个方法可以帮我们省去很多麻烦。具体的做法如下:
textview.setEllipsize(TextUtils.TruncateAt.MARQUEE);//有
start end middle marquee参数
textview.setSingleLine(true);//设置成单行的
textview.setMarqueeRepeatLimit(6);//滚动循环次数
public static final TextUtils.TruncateAt END 末位省略
public static final TextUtils.TruncateAt MARQUEE 滚动
public static final TextUtils.TruncateAt MIDDLE 中间省略
public static final TextUtils.TruncateAt START
开头省略
如果我想末位省略,我就可以这么做:
textview.setEllipsize(TextUtils.TruncateAt.END);
但是要记得要设置TextView为单行的。可以在xml设定android:singleline="true"
时间: 2024-11-06 13:34:35