Android中计算textView长度问题

Android中计算textView长度问题ide

今天有一个需求,须要TextView显示两行的信息,可是右下角区域须要空出来,要来显示一张小图片,要实现的效果如图所示。工具

这里遇到的问题是计算TextView的可显示长度和文本在画布中的长度。spa

1.TextView的宽度由屏幕总宽度- 额外宽度 获得。而后乘以2获得TextView能够显示的内容的宽度。blog

2.使用工具方法TextUtils.ellipsize方法,将1中计算的长度传入,获得TextView中能够显示的文本的内容。图片

3.将2中获得的文本set到TextView中。ip

简单的代码以下:get

  
  
  
  
  1. private void measureTextWidth(TextView textView,String txt){ 
  2.         if(textLength == 0){ 
  3.             float textViewWidth = Variable.availableWidth - (40+50+15+11)*Variable.dip; 
  4.             textLength = textViewWidth * 2 - 5*11 * Variable.dip; 
  5.         } 
  6.         Paint paint  = textView.getPaint(); 
  7.         paint.setTextSize(textView.getTextSize()); 
  8.         String temp = (String) TextUtils.ellipsize(txt, (TextPaint) paint, textLength , TextUtils.TruncateAt.END); 
  9.         textView.setText(temp); 
  10.          
  11.     } 
相关文章
相关标签/搜索