Android中計算textView長度問題ide
今天有一個需求,須要TextView顯示兩行的信息,可是右下角區域須要空出來,要來顯示一張小圖片,要實現的效果如圖所示。工具
這裏遇到的問題是計算TextView的可顯示長度和文本在畫布中的長度。spa
1.TextView的寬度由屏幕總寬度- 額外寬度 獲得。而後乘以2獲得TextView能夠顯示的內容的寬度。blog
2.使用工具方法TextUtils.ellipsize方法,將1中計算的長度傳入,獲得TextView中能夠顯示的文本的內容。圖片
3.將2中獲得的文本set到TextView中。ip
簡單的代碼以下:get
- 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);
- }