您的位置:首页 > 移动开发 > Android开发

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

2016-03-01 23:25 519 查看
当我们在使用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,跑马灯的效果就出现了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android textview