控制textview只显示 2 行文本,超过 2 行显示展开/折叠按钮(mShowImage),isShow=true时,是展开状态,isShow=false时,是折叠状态
方法一:
int line = textView.getLineCount(); if (line > 2 && ! isShow) { textView.setLines(2); textView.setEllipsize(TextUtils.TruncateAt.END); mShowImage.setVisibility(VISIBLE); }
方法二:
textView.setLines(2); textView.setEllipsize(TextUtils.TruncateAt.END); int line=textView.getLineCount(); Layout layout=textView.getLayout(); if (layout.getEllipsisCount(line-1)>0){ mShowImage.setVisibility(VISIBLE); }
展开 / 折叠按钮的点击事件的处理:
isShow=!isShow
mShowImage.setImageResource(isAllShow ? R.drawable.ic_keyboard_arrow_up_black_24dp : R.drawable.ic_keyboard_arrow_down_black_24dp); if (isShow) { textView.setSingleLine(false); textView.setEllipsize(null); } else { textView.setLines(2); textView.setEllipsize(TextUtils.TruncateAt.END); }