我正在寻找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

如果我将这些值设置为我的视图,那么它剪切一些文本,它不显示所有内容。

再一次,它看起来可以在一些桌子上,因为它的宽度大,但不在手机上。

有什么办法可以根据内容计算身高吗?

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐