我想知道哪些是将孩子放在RelativeLayout中更为有效的方法。有两种方法可以做到这一点:
1)放置具有绝对位置的主视图(如layout_centerInParent
或设置与父视图对应的边距/填充)然后添加其他视图并将其设置为android:layout_above="@id/relative_view_id"
,并将它们放在相对下方视图。这不是好办法,因为xml中的视图层次结构与您在预览中看到的视图层次结构不匹配。
2)您为具有绝对ID android:layout_above="@+id/relative_view_id"
( +出现)的RelativeLayout属性的子项分配。它在xml中提供正确的视图顺序。当您从java代码中查找relative_view_id
的视图声明时,但是(通过按cmd + B)Android Studio会建议您声明@ + id的所有视图。在我们的案例中,带有属性android:layout_above="@+id/relative_view_id"
的视图也会显示在搜索结果中。
您在RelativeLayout中放置视图的方式是什么?
答案 0 :(得分:2)
<强>机器人:layout_above 强>
将此视图的下边缘定位在给定的锚点视图ID上方。 容纳此视图的下边距和锚视图的上边距。
对于您的问题,我更喜欢 No 1 方式。
android:layout_above="@id/relative_view_id"
它引用已生成的 id ( relative_view_id )。