我使用3个部分创建屏幕,这些部分用weightSum
和
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".....my choose"
现在,我成功通过更改布局参数来动态更改除法。我的问题是我的第一部分包含textView,其中包含我不知道他的长度的字符串(每次都改变它)。它可能很短或很长,所以对于正常情况一切都还可以,但如果字符串很长,我想给第一部分更多的重量'从屏幕上我希望它与字符串的长度相关..
问题是我是否能够以某种方式知道'身高'一个字符串,并从那里计算字符串需要多少重量?然后我可以再次改变分裂,或者可能还有另一种替代我的情况?
全部谢谢!
答案 0 :(得分:0)
更好地使用算法来查找字符串的长度,一旦找到长度,然后以编程方式更改文本大小或权重。
答案 1 :(得分:0)
这是一种黑客行为。您可以使用getWidth
的{{1}} TextView
以及该宽度的基础,指定String
。
例如,如果您的weight
是TextView
。
yourTextView
注意强>
如果您无法立即找到宽度,则可以使用yourTextView.setText(yourString);
int width = yourTextView.getWidth;
if(width > THRESHOLD)
setWeight(YOUR_VALUE)
else setWeight(YOUR_VALUE)
,因为设置文本需要一段时间。
Handler