处理 RelativeLayout 的更好方法
The better way of dealing with RelativeLayout
我想知道在 RelativeLayout 中放置子项的哪种方式更有效。有两种方法可以做到这一点:
1) 将主视图放置在绝对位置(如 layout_centerInParent
或设置 margins/paddings 对应于父视图)之后添加其他视图并设置它们的属性,如 android:layout_above="@id/relative_view_id"
和将它们放在相对视图下方。这不是好方法,因为您在 xml 中的视图层次结构与您在预览中看到的不匹配。
2) 您将绝对 ID android:layout_above="@+id/relative_view_id"
分配给 RelativeLayout 属性的子项(+ 出现)。它在 xml 中提供正确的视图顺序。 BUT 当您从 java 代码中查找带有 relative_view_id
的视图声明时(通过按 cmd+B) Android Studio 会建议您所在的所有视图声明为@+id。在我们的例子中,具有属性 android:layout_above="@+id/relative_view_id"
的视图也将出现在搜索结果中。
你在 RelativeLayout 中放置视图的方式是什么?
android:layout_above
Positions the bottom edge of this view above the given anchor view ID.
Accommodates bottom margin of this view and top margin of anchor view.
对于你的问题,我更喜欢No 1方式。
android:layout_above="@id/relative_view_id"
引用已经生成的id (relative_view_id) .
我想知道在 RelativeLayout 中放置子项的哪种方式更有效。有两种方法可以做到这一点:
1) 将主视图放置在绝对位置(如 layout_centerInParent
或设置 margins/paddings 对应于父视图)之后添加其他视图并设置它们的属性,如 android:layout_above="@id/relative_view_id"
和将它们放在相对视图下方。这不是好方法,因为您在 xml 中的视图层次结构与您在预览中看到的不匹配。
2) 您将绝对 ID android:layout_above="@+id/relative_view_id"
分配给 RelativeLayout 属性的子项(+ 出现)。它在 xml 中提供正确的视图顺序。 BUT 当您从 java 代码中查找带有 relative_view_id
的视图声明时(通过按 cmd+B) Android Studio 会建议您所在的所有视图声明为@+id。在我们的例子中,具有属性 android:layout_above="@+id/relative_view_id"
的视图也将出现在搜索结果中。
你在 RelativeLayout 中放置视图的方式是什么?
android:layout_above
Positions the bottom edge of this view above the given anchor view ID. Accommodates bottom margin of this view and top margin of anchor view.
对于你的问题,我更喜欢No 1方式。
android:layout_above="@id/relative_view_id"
引用已经生成的id (relative_view_id) .