Android里TextView中显示不下的文字转而显示省略号

当我们在使用TextView时,很有可能文字显示不下。如果不进行调整设置的话,显示就会变得很难看。我读了这篇问答之后,知道了如何设置,再加上我自己查找了其它的资料和进行实践,总结为这篇博文。


在xml中TextView里进行设置:

android:ellipsize="start"        //省略号在开头        
android:ellipsize="middle"       //省略号在中间        
android:ellipsize="end"          //省略号在结尾        
android:ellipsize="marquee"      //跑马灯显示

然而在使用ellipsize属性时必须要添加以下属性:

android:layout_width="wrap_content"

还有就是最好像以下一样把行数限定为一行,这样显示的更稳定、美观。

android:singleLine="true"

在代码中进行设置:

public void setEllipsize (TextUtils.TruncateAt where) 

以上方法需要传入TextUtils.TruncateAt作为参数

public enum TruncateAt {
        START,
        MIDDLE,
        END,
        MARQUEE,
        /**
         * @hide
         */
        END_SMALL
    }

所以说可以传入以下四种参数:

TextUtils.TruncateAt.START 
TextUtils.TruncateAt.MIDDLE
TextUtils.TruncateAt.END
TextUtils.TruncateAt.MARQUEE

与在xml中的设置完全对应,当然也可以使用以下方法限定单行

public void setSingleLine(boolean singleLine)

但是,当使用android:ellipsize=”marquee” 或者setEllipsize (TextUtils.TruncateAt.MARQUEE)时,在TextView里并没有有跑马灯的效果,只是显示成末尾省略号的形式。于是,我们还要调用以下方法进行设置:

public void setSelected(boolean selected)

只要将其设置为true,跑马灯的效果就出现了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值