gpt4 book ai didi

android - 以编程方式布局android fragment

转载 作者:行者123 更新时间:2023-11-30 01:23:58 24 4
gpt4 key购买 nike

我是 Android 开发的新手,目前正在努力处理 fragment 和布局(Xamarin.Android 的值(value))。

我在主视图的 OnCreate 方法中以编程方式将 fragment 添加到我的 View 。其中一个 fragment 包含导航控件并实现了飞越 Idiom。现在我的问题是,我还没有找到一种方法来使导航 fragment 的宽度,比如说,父控件宽度的一半。在每次重写中,我都能够访问尚未执行的布局,因此 fragment 的宽度和主视图均为 0。在布局文件中 decleratively 设置 fragment 的大小也不起作用(无论是翻译我需要以相同的方式访问的属性以最初隐藏 fragment )。 Xamarin/VS 提示将大小设置或将属性转换为字符串(即 parent_width 等)无效。

我读过的所有 fragment 教程都忽略了这一点。

最佳答案

如果我对您的问题的理解正确,那么您遇到的是动态添加的 fragment 的布局大小问题。

如果您能够粘贴概述如何添加 fragment 以及尝试使用哪些覆盖方法的代码,这可能会有所帮助。但是,这是在不查看任何代码的情况下提供帮助的最佳尝试。

我过去一直使用两种方法来调整动态添加的元素的大小。一种是为 LinearLayout 的布局使用基本容器并动态指定 fragment 的权重。这将允许您指定您的 fragment 应该轻松地使用部分布局。例如,如果您有 fragment A 和 B,并且您希望 fragment A 占用 25% 的布局空间 - 您可以将其权重设置为 1,将 fragment B 的权重设置为 4。您可以找到对动态设置元素权重的支持(比如你的 fragment )在这里:How to set layout_weight attribute dynamically from code?

另一种选择是使用 OnGlobalLayoutListener,它会在控件布局时“触发”。这将确保当您尝试测量布局以确定其已经布局的宽度/高度并消耗适当的测量空间时,您将不会返回 0。有许多文章概述了如何编写代码对于这个分散在网络上的听众。 I 如果您发现需要经常知道控件何时布局,则将一些监听器功能子类化以便于重用也可能很有用。这是有关该主题的 Android 文档的链接 http://developer.android.com/reference/android/view/ViewTreeObserver.OnGlobalLayoutListener.html .

希望对您有所帮助。

关于android - 以编程方式布局android fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701695/

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