我正在寻找Android中的方法,它将输入(text,text_font_size,device_width),并且基于这些计算,它将返回显示特定文本所需的高度多少?
我正在设置一个文本视图/ webview高度运行时基于他的内容,我知道warp内容,但我不能使用在我的情况下,因为一些网页视图最小高度问题。
所以我试图计算高度,并根据我设置视图高度。
我尝试过以下几种方法
Paint paint = new Paint();
paint.setTextSize(text.length());
Rect bounds = new Rect();
paint.getTextBounds(text, 0, 1, bounds);
mTextViewHeight= bounds.height();
所以输出是
1)“Hello World”返回字体15的高度13
2)“最新版本的Jelly Bean在这里,性能优化”返回字体15的高度16
然后我试过了
Paint paint = new Paint();
paint.setTextSize(15);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setColor(Color.BLACK);
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), result);
Paint.FontMetrics metrics = brush.getFontMetrics();
int totalHeight = (int) (metrics.descent - metrics.ascent + metrics.leading);
所以输出是
1)“Hello World”返回字体15的高度17
2)“最新版本的Jelly Bean在这里,性能优化”字体15的高度为17
如果我将这些值设置为我的视图,那么它剪切一些文本,它不显示所有内容。
再一次,它看起来可以在一些桌子上,因为它的宽度大,但不在手机上。
有什么办法可以根据内容计算身高吗?