gpt4 book ai didi

java - getWidth 不更新

转载 作者:搜寻专家 更新时间:2023-11-01 08:09:40 26 4
gpt4 key购买 nike

为什么两个输出都打印84?第一个应显示为 84,第二个应显示为 220。如果我再次单击,则两个输出均显示为 220。

public void btnClick(View v) {
System.out.println(textView1.getWidth());
textView1.setTextSize(TypedValue.COMPLEX_UNIT_PX, 55);
System.out.println(textView1.getWidth());
}

最佳答案

如果已经测量过,则更改文本大小不会更改 View 的大小。 SetTextSize() 将触发一个 invalidate(),但以后只会触发一个 onDraw()。 View 不会被再次测量,它的宽度和高度将保持不变。您可以在 View 上调用 requestLayout() 以重新计算宽度和高度。

如果您只想在更改大小(根据其尺寸)后查看文本的大小,您可以尝试 http://developer.android.com/reference/android/graphics/Paint.html#getTextBounds(char[], int, int, android.graphics.Rect)

关于java - getWidth 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11068086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com