Android中计算textView长度问题

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

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

1.TextView的宽度由屏幕总宽度- 额外宽度 得到。然后乘以2得到TextView可以显示的内容的宽度。

2.使用工具方法TextUtils.ellipsize方法,将1中计算的长度传入,得到TextView中可以显示的文本的内容。

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

简单的代码如下:

            
  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.     } 

 

更多相关文章

  1. android textview宽度固定的情况下字体大小自适应
  2. android dialog宽度无法填满屏幕解决方案
  3. 【Android】自定义ImageView高度自适应,宽度成比例缩放
  4. Android开发:文本实现两端对齐
  5. AndEngine绘制滚动文本TickerText

随机推荐

  1. 【Android(安卓)非常基础】contentResolv
  2. Android错误日志转换脚本(mapping)
  3. Android(安卓)拍照添加时间水印
  4. Android实现点击按钮 文本框值加1
  5. Android(安卓)StagefrightPlayer调用流程
  6. Android(安卓)AlertDialog ————多选
  7. android音频波形图绘制
  8. android动画效果_图片闪烁
  9. 【Android】Web开发之显示网络图片的两种
  10. SharedPreference