- 方法1:(在listview中会出现错乱)
TextView textview=....
textview.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeOnserver.OnGlobalLayout(){
@Override
public void onGlobalLayout(){
int hang=textview.getLineCount();
textview.getViewTreeObserver().removeGlobalLayoutListener(this);
if(hang>3){
//超过三行
textview.setMaxLines(3);
textview.setEllipseize(TextUtils.TruncateAt.END);
}
}
}
);
- 方法2
ViewTreeObserver vto = holder.tv_content.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { //获取textView的行数 int txtPart = finalHolder.tv_content.getLineCount(); if (txtPart > 3) { //大于三行做的操作 finalHolder.tv_content.setMaxLines(3); finalHolder.tv_content.setEllipsize(TextUtils.TruncateAt.END); } return true; } });