• 方法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;
                    }
                });
    

results matching ""

    No results matching ""