我使用了这段代码:
Rect bounds=new Rect();
tv.getPaint().getTextBounds(text,0, text.length(),bounds);
float textWidth=bounds.width();
float textHeight=bounds.height();
它水平运行良好...... 垂直尺寸也可以...... 但文字的绘制位置低于我的预期......
这些链接没用:
auto scale textview text to fit within bounds
我应该改变什么?
答案 0 :(得分:0)
只需将布局参数设置为WRAP_CONTENT以获得高度。如果您的文本位于LinearLayout中,它将如下所示:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT);
myTextView.setLayoutParams(params);
如果您正在使用XML布局,只需将TextView的layout_height设置为wrap_content即可。如果文本仍然低于您的预期,请检查填充设置为TextView。