TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示:
1.android:ellipsize=”start”—–省略号显示在开头
2.Android:ellipsize=”end”——省略号显示在结尾
3.android:ellipsize=”middle”—-省略号显示在中间
4.android:ellipsize=”marquee”–以跑马灯的方式显示(动画横向移动)
文字左右滚动三个属性:
1. android:singleLine="true"
2. android:ellipsize="marquee"
3. android:marqueeRepeatLimit="marquee_forever"
TextView文字过长,省略显示:
在xml的TextView中编写:
android:singleLine="true" android:ellipsize="end"
在Java代码中的TextView点击事件中编写:
contentTv.setOnClickListener(new View.OnClickListener() {
Boolean flag=true;
@Override
public void onClick(View v) {
if(flag){
flag=false;
holder.contentTv.setEllipsize(null); //展开
holder.contentTv.setSingleLine(flag);
}else{
flag=true;
contentTv.setEllipsize(TextUtils.TruncateAt.END); //收缩
holder.contentTv.setSingleLine(flag);
}
}
});
这样就可以实现文字过长,省略显示的效果了。