【发布时间】:2018-02-02 04:11:05
【问题描述】:
我有一个复杂的布局,其中包含带有 layout_width="wrap_content" 的 TextView。我想得到这个 TextView 可以填充的最大宽度。
有通用的方法吗?或者我应该检查所有父母并计算他们的边距,填充等?安卓是怎么做到的?
【问题讨论】:
-
XY 问题?为什么需要最大可能的宽度? android:maxWidth 怎么样?
-
我需要最大可能的宽度来手动计算是否适合一行文本并根据此更改此文本。我不使用 maxWidth。
-
最好计算文本大小运行时并调整直到适合
-
我想根据最大可用宽度更改文本值
-
在TextView的onMeasure()中,宽度和高度的约束会通过MeasureSpecs从父级传下来。特别是,它们可以是 UNSPECIFIED、AT_MOST 或 EXACTLY。在最后两种情况下,您有最大宽度。首先,我认为你不能计算最大宽度,但你可以看看 TextView 的代码,看看它在这种情况下做了什么。
标签: java android textview width