gpt4 book ai didi

java - 子项从右到左排序的水平 LinearLayout?

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:16 24 4
gpt4 key购买 nike

我有一个水平的 LinearLayout,它以编程方式填充了它的子项。我希望能够切换到从右到左的布局(即子 0 在最右边,子 1 在它的左边,等等)。问题是,我希望布局从 RtL 切换到 LtR 并动态切换回来,这就是为什么例如this question与我的情况无关。

似乎没有任何方法可以直接在代码中设置它,特别是因为重力是为了对齐,而不是为了排序。

到目前为止,我看到了以下解决方法:

  • 在排序开关上,以相反的顺序重新添加 child (问题:非常丑陋且耗费资源)。
  • 使用覆盖的 onLayout() 方法实现 LinearLayout 的子类(问题:由于 helper,大量复制粘贴 Android 源代码可见性受限的布局成员)。
  • LinearLayout 替换为另一个,例如TableLayoutRelativeLayout,并更改 switch 子项的布局参数(问题:仍然有些笨拙)。

有没有更直接的解决方案或更好的解决方法?

编辑:澄清一下,我实际上是在 Activity 运行时创建一次子项,并且我可以将它们存储在助手数组/集合中而不会使代码复杂化。

最佳答案

虽然重新创建子项可能会占用大量资源,但重新排序应该不会那么糟糕。您可以使用 getChildAt 获取现有 View 和 getChildCount然后将它们放回使用 addView override with an index .

关于java - 子项从右到左排序的水平 LinearLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542172/

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