gpt4 book ai didi

java - 什么时候是在 android 中获取 View 尺寸的正确时间

转载 作者:行者123 更新时间:2023-11-30 10:57:39 24 4
gpt4 key购买 nike

有时,当我以某种方式更改 View 时,更改后无法获得正确的尺寸。

让我们以单行为 true 的 TextView 为例:

txv.setSingleLine(true)

然后我将其更改为 false,比方说通过单击按钮:

txv.setSingleLine(false)

之后我调用:

txv.invalidate()

然后我调用:

int sizeH = txv.getHeight()

但在那之后我没有得到正确的尺寸。我仍然知道 ViewsetSingleLine(true) 时的大小。

那么什么时候获取我刚刚更改的 View 尺寸是正确或安全的?

最佳答案

方案一
您可以使用 ViewTreeObserver

view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
view.getHeight(); //height is ready
}
});

更新:
方案二
引用 link

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int size = 0;
int width = getMeasuredWidth();
int height = getMeasuredHeight();

}

关于java - 什么时候是在 android 中获取 View 尺寸的正确时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32527624/

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