android 测量字体宽高,android – 如何根据设备宽度和字体大小测量TextView高度?...

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值