我在 Linearlayout 中以编程方式添加 View (按钮)。LinearLayout 由 Fragment 中的 XML 布局。
我想获取按钮宽度,但总是返回 0。
我用谷歌搜索了这个问题,
getWidth 只对 WindowFocusChanged 有效。
public void onWindowFocusChanged(boolean hasFocus) { }
但是Fragment没有这个方法。
如何获取Fragment中View的宽度?
最佳答案
我遇到过类似的问题,并在 fragment 回调 onViewCreated() 中解决了这个问题,如下所示:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.post(new Runnable() {
@Override
public void run() {
// do operations or methods involved
// View.getWidth(); or View.getHeight();
// here
}
});
}
run() 在所有 View 都呈现后运行...
关于android - 我什么时候应该在 fragment 中获得宽度 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15674770/