gpt4 book ai didi

android - 在 onStart() 中获取 fragment 宽度 0

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:58:24 26 4
gpt4 key购买 nike

我们正在使用 fragment 兼容性库,并试图获取 fragment 的宽度,添加到 FrameLayout。根据 fragment 生命周期,在执行 onCreateView 之前,getView().getMeasuredWidth() 应该返回 0。但是,我们在 onCreateView 之后的 onStart() 中得到 0,因此返回值不应该为 0。

这是我们想知道其宽度的 fragment :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/carbon_fiber"/>

为什么会出现这种异常现象?任何帮助将不胜感激。

最佳答案

与 Activity 类似, View 层次结构中的 View 未在 Fragment::onStart() 中测量。要获取 View 的大小,您需要创建一个 OnGlobalLayoutListener 并按以下方式使用它:

Android get Fragment width

关于android - 在 onStart() 中获取 fragment 宽度 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860217/

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