Android RelativeLayout 递归引用...除了不是真的
Android RelativeLayout recursive references... except not really
...因为没有创建递归循环。
是否有一种变通方法(或 lint 选项)允许放置 2 个视图,以便水平视图 position/size 基于第二个视图,而另一个视图基于第二个视图的垂直视图 size/position?
或者另一种不使用嵌套布局的技术?
示例(删除了不相关的值):
<RelativeLayout>
<View
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_alignTop="@id/view2"
android:layout_alignBottom="@id/view2" />
<View
android:id="@+id/view2"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/robot_dialog_arrow" />
</RelativeLayout>
视图 2 的高度,并且彼此相邻。
合乎逻辑,但我无法避免 No resource found that matches the given name (at 'layout_alignTop' with value '@id/view2')
.
变化:
android:layout_alignTop="@id/view2"
至:
android:layout_alignTop="@+id/view2"
并更改:
android:id="@+id/view2"
至:
android:id="@id/view2"
+
在 XML 文件中第一次出现 ID。在您的情况下,这是 android:layout_alignTop
属性。
...因为没有创建递归循环。
是否有一种变通方法(或 lint 选项)允许放置 2 个视图,以便水平视图 position/size 基于第二个视图,而另一个视图基于第二个视图的垂直视图 size/position?
或者另一种不使用嵌套布局的技术?
示例(删除了不相关的值):
<RelativeLayout>
<View
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_alignTop="@id/view2"
android:layout_alignBottom="@id/view2" />
<View
android:id="@+id/view2"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/robot_dialog_arrow" />
</RelativeLayout>
视图 2 的高度,并且彼此相邻。
合乎逻辑,但我无法避免 No resource found that matches the given name (at 'layout_alignTop' with value '@id/view2')
.
变化:
android:layout_alignTop="@id/view2"
至:
android:layout_alignTop="@+id/view2"
并更改:
android:id="@+id/view2"
至:
android:id="@id/view2"
+
在 XML 文件中第一次出现 ID。在您的情况下,这是 android:layout_alignTop
属性。