在两个视图上设置左右属性时,相对布局会消失两个视图
Relative layout disappears both views when setting right and left properties on both
我的 RelativeLayout 中现在有以下布局
<EditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/button"
android:layout_toLeftOf="@id/button"
android:hint="Whatsup!"
android:padding="10dp" />
<ImageView
android:id="@id/button"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignBottom="@id/text"
android:layout_alignTop="@id/text"
android:src="@drawable/ic_mic_black_off"
android:layout_alignParentEnd="true" />
这使得我的 ImageView 的大小为 80dp,并且它的左侧填充了 EditText。
现在,如果我添加一个 属性 "android:layout_toRightOf="@id/text"",那么我的两个视图都消失了吗?这是为什么?
这是因为循环依赖。您的观点相互依存,将自己置于屏幕上。
你的 EditText
已经依赖于 android:layout_toStartOf="@+id/button"
ImageView
现在当你添加 android:layout_toRightOf="@id/text"
你的 ImageView
依赖于 EditText
它变成圆。这是不允许的。
如果您在工作室中查看“设计”选项卡下方,将会有红色感叹号。单击它,您将看到以下错误。
我的 RelativeLayout 中现在有以下布局
<EditText
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/button"
android:layout_toLeftOf="@id/button"
android:hint="Whatsup!"
android:padding="10dp" />
<ImageView
android:id="@id/button"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignBottom="@id/text"
android:layout_alignTop="@id/text"
android:src="@drawable/ic_mic_black_off"
android:layout_alignParentEnd="true" />
这使得我的 ImageView 的大小为 80dp,并且它的左侧填充了 EditText。
现在,如果我添加一个 属性 "android:layout_toRightOf="@id/text"",那么我的两个视图都消失了吗?这是为什么?
这是因为循环依赖。您的观点相互依存,将自己置于屏幕上。
你的 EditText
已经依赖于 android:layout_toStartOf="@+id/button"
ImageView
现在当你添加 android:layout_toRightOf="@id/text"
你的 ImageView
依赖于 EditText
它变成圆。这是不允许的。
如果您在工作室中查看“设计”选项卡下方,将会有红色感叹号。单击它,您将看到以下错误。