android - 我什么时候应该在 fragment 中获得宽度 View

标签 android android-layout android-fragments

我在 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/

相关文章:

java - 每次更新数组时如何向监听器发出消息?

android - 如何不对我的密码进行硬编码(Android)?

android - 错误 : Could not initialize class com. android.sdklib.repository.AndroidSdkHandler

android - 渲染前测量文本长度

android - 如何在我的应用程序中创建这种类型的聊天布局?

android - 布局中的一半 ImageView

Android - 用于捕获 View 属性更改的监听器(例如 android :layout_marginTop)

android - 放置在 NavigationDrawer 顶部的 fragment

android - 换行符和制表符未正确显示

java - 为什么findFragmentById总是返回null