Android Studio 的可视化布局编辑器自动改变组件树的层次结构

2020-05-12 22:25:24 +08:00
 qimi

在 Android studio 的可视化布局编辑器中,我原本的组件树结构为这样:

ConstraintLayout1
-   LinearLayout1
    -   Button1
    -   Button2
-   ConstraintLayout2
-   ConstraintLayout3
    -   Button3
-   Button4

当我修改 ConstraintLayout1 的 background 属性的时候,布局文件的层次结构会自动变为以下状态:

ConstraintLayout1
-   Button4
-   LinearLayout1
    -   Button1
    -   Button2
-   ConstraintLayout2
-   ConstraintLayout3
    -   Button3

Button变成了 ConstraintLayout1 下的第一个元素,请问这是什么原因导致的?

我的 Android studio 的版本为 3.6.1 。

987 次点击
所在节点    问与答
1 条回复
chenjiajia9411
2020-05-13 10:20:29 +08:00
在约束布局里,写在后面的 view 会覆盖在前面的 view 上,你调整了前面 view 的属性并且没有做好约束之后就有可能出现这种问题。
还有,约束布局做出来就是为了解决套娃问题的,所以不要在约束布局里面也套娃了,像你第一个两个 button 完全可以用 chain 来解决约束。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/671074

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX