gpt4 book ai didi

android - ImageButton.getWidth() 和 getHeight() 返回 0

转载 作者:行者123 更新时间:2023-11-29 01:18:40 26 4
gpt4 key购买 nike

目前在我的 android 应用程序中,我的 ImageButton getWidth()getHeight() 返回 0。在搜索论坛后,我意识到这是因为 Layout/View操作系统尚未完成/最终确定,因此返回 0。因此,他们建议使用 OnGlobalLayoutListener 来解决此问题。但是,该按钮是在 Fragment 中创建的,该 Fragment 具有返回 fragment View 的 onCreateView() 方法。那么在这种情况下我该如何附加这个监听器呢?

谢谢。

最佳答案

完全一样。您可以在 onCreateViewonViewCreated 中执行此操作。重要的是它必须在你inflate你的布局之后:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_test, container, false);
final View measuredView = rootView.findViewById(R.id.measured_view);
measuredView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

@Override
public void onGlobalLayout() {
int width = measuredView.getWidth();
int height = measuredView.getHeight();
if (width > 0 && height > 0) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
measuredView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
} else {
measuredView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
//DO SOMETHING WITH NON-ZERO DIMENSIONS
}
}
});
return rootView;
}

关于android - ImageButton.getWidth() 和 getHeight() 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161914/

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