在屏幕上绘制之前确定 TextView 的大小

问题描述 投票:0回答:1

我有一个 TextView 元素的滚动列表,其中一些包含更多文本(更多行),一些包含更少。

在滚动列表的右侧绘制了一个图像。

我想为每个 TextView 元素添加填充,以便文本永远不会与图像重叠。

如果我可以在每个 TextView 元素绘制到屏幕之前测量其大小,我就可以调整填充,使文本不会与图像重叠。

getWidth
getMeasuredWidth
没有给出正确的值(
getMeasuredWidth
在调用
measure(0, 0)
之后被调用),在绘制元素之前行数总是错误的。

有什么想法如何在绘制之前正确预测 TextView 元素的大小,以便在需要时可以修改它的大小?

java android
1个回答
0
投票

原来可以使用以下方法测量 TextView 组件的大小

textView.measure(
          View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY),
          View.MeasureSpec.makeMeasureSpec(someValue, View.MeasureSpec.UNSPECIFIED));
© www.soinside.com 2019 - 2024. All rights reserved.