做这个效果得先了解TextView中的这个ellipsize属性,作用是当文字长度超过textview宽度时的显示方式:
Android:ellipsize=”start”—–省略号显示在开头 “…pedia”
android:ellipsize=”end”——省略号显示在结尾 “encyc…”
android:ellipsize=”middle”—-省略号显示在中间 “en…dia”
android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)
废话不多说了 ,首先设置在xml文件中设置TextView的属性android:ellipsize=”end”接着在java代码中这样设置
private boolean isFirst = true;
tv_more_comment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isFirst) {
isFirst = false;
tv_about_teach.setEllipsize(null);
tv_about_teach.setSingleLine(isFirst);
home_openclass_open.setImageResource(R.drawable.home_open_up);
} else {
isFirst = true;
tv_about_teach.setEllipsize(TextUtils.TruncateAt.END);
tv_about_teach.setLines(4);
home_openclass_open.setImageResource(R.drawable.home_open_down);
}
}
});