Android中计算textView长度问题
16lz
2021-01-23
Android中计算textView长度问题
今天有一个需求,需要TextView显示两行的信息,但是右下角区域需要空出来,要来显示一张小图片,要实现的效果如图所示。
这里遇到的问题是计算TextView的可显示长度和文本在画布中的长度。
1.TextView的宽度由屏幕总宽度- 额外宽度 得到。然后乘以2得到TextView可以显示的内容的宽度。
2.使用工具方法TextUtils.ellipsize方法,将1中计算的长度传入,得到TextView中可以显示的文本的内容。
3.将2中得到的文本set到TextView中。
简单的代码如下:
- private void measureTextWidth(TextView textView,String txt){
- if(textLength == 0){
- float textViewWidth = Variable.availableWidth - (40+50+15+11)*Variable.dip;
- textLength = textViewWidth * 2 - 5*11 * Variable.dip;
- }
- Paint paint = textView.getPaint();
- paint.setTextSize(textView.getTextSize());
- String temp = (String) TextUtils.ellipsize(txt, (TextPaint) paint, textLength , TextUtils.TruncateAt.END);
- textView.setText(temp);
- }
更多相关文章
- android textview宽度固定的情况下字体大小自适应
- android dialog宽度无法填满屏幕解决方案
- 【Android】自定义ImageView高度自适应,宽度成比例缩放
- Android开发:文本实现两端对齐
- AndEngine绘制滚动文本TickerText