gpt4 book ai didi

android - 在Fragment的onCreateView()中确定宽高

转载 作者:行者123 更新时间:2023-11-30 03:28:12 25 4
gpt4 key购买 nike

在我的 Fragment 类的 onCreateView() 中,我正在创建并返回一个 View,其内容需要根据Fragment 的实际屏幕宽度和高度。

如果我能够在 onCreateView() 中确定宽度和高度,那将是最理想的。这是因为当 ViewonCreateView() 中构造时,许多子 View 被添加到其中,而父布局 View 根据可用的宽度和高度将这些子级组织成列(以创建一种“流体”列容器)。

我尝试查看传递给 onCreateView()ViewGroup 中包含哪些 LayoutParams 但宽度和高度似乎是常量而不是到特定的宽度和高度。

在布局阶段的这个阶段(在 FragmentonCreateView() 中),我认为没有可用的宽度和高度是否正确? ?如果是这样,那么我怀疑我需要做的是分两个阶段构建我的容器 View:(1) 最初将子项添加到其中,然后 (2) 实际组织这些子项 查看在已知宽度和高度时调用的方法覆盖内的列。

最佳答案

是的,你是对的。在 fragment 的 onCreateView() 中,宽度和高度尚不可用(均为 0)。不需要完全按照您所说的分两个阶段进行。我想你可以通过两种方式做到这一点:

  1. 没有自定义 View :您可以在 fragment 中使用 ViewTreeObserver 来确定何时计算宽度和高度,然后计算 subview 的大小并添加它们。

  2. 使用自定义 View :您可以像您提到的那样构建自定义 View ,并且可以在 onDraw() 中添加 subview 。在onDraw() 方法中已经计算出宽度和高度。

关于android - 在Fragment的onCreateView()中确定宽高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899373/

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