gpt4 book ai didi

java - 在代码中初始化的 TextView 上的 getHeight()

转载 作者:太空宇宙 更新时间:2023-11-04 15:14:46 27 4
gpt4 key购买 nike

我已经在代码中初始化了 TextView(即,没有从布局中初始化它)

TextView   v   =    new TextView(getApplicationContext());

然后我设置文本

v.setText("Foo");

然后我尝试获取这个 TextView 的高度

int i = v.getHeight();

这给出了 0。

请指教

最佳答案

您的 TextView 可能尚未测量。使用 ViewTreeObserver,您可以在渲染 TextView 时收到通知,然后您可以获得它的高度:

ViewTreeObserver vto = v.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

@Override
public void onGlobalLayout() {
if (v != null && getActivity() != null) {
ViewTreeObserver obs = v.getViewTreeObserver();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
obs.removeOnGlobalLayoutListener(this);
} else {
obs.removeGlobalOnLayoutListener(this);
}
int i = v.getHeight();

}
}
});

关于java - 在代码中初始化的 TextView 上的 getHeight(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951028/

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