Android相对布局:ToLeftOf gone视图

Android相对布局:ToLeftOf gone视图,android,android-relativelayout,Android,Android Relativelayout,我有一个相对布局,左侧有一个TextView,右侧有一个微调器。此外,我需要一个错误的图像,以显示如果用户选择了不正确的变体 <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/text" andro

我有一个相对布局,左侧有一个
TextView
,右侧有一个微调器。此外,我需要一个错误的图像,以显示如果用户选择了不正确的变体

 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:gravity="center_vertical"
            android:text="@string/some_text"/>
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="74dp"
            android:layout_height="40dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_toLeftOf="@+id/err"/>
        <ImageView

            android:id="@+id/err"
            android:layout_centerVertical="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:src="@drawable/ic_error"/>
    </RelativeLayout>

编辑:谢谢,我更正了输入错误,但这不是问题的原因。

制作两个微调器,每次都使其中一个不可见。

也许您想要这样的东西:

<LinearLayout 
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:gravity="center_vertical|right"
     android:layout_alignParentRight="true"
     android:orientation="horizontal" >

     <Spinner
        android:id="@+id/spinner"
        android:layout_width="74dp"
        android:layout_height="40dp" />

     <ImageView
        android:id="@+id/err"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_error"/>
</LinearLayout>

编辑:只需将您的
微调器
图像视图
放入一个
线性布局
中,就像这样

编辑2:我刚收到一个
+10
,由于我对这个解决方案感到有点羞愧,请遵循以下步骤:
因此,对于今后与此相关的问题,请忽略我的回答,创建您自己的
自定义视图
扩展
约束视图
,并在自定义布局上包括
微调器
图像视图
,最好使用Kotlin。谢谢

我想你的代码有误。
它必须是
android:layout\u-toLeftOf=“@+id/err”
,而不是
android:layout\u-toLeftOf=“@id/err”
,在相对布局的右侧添加锚定视图可以解决此问题。将锚定视图添加到RelativeLayout:

<View
    android:id="@+id/anchor_top_right"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    />

我不喜欢嵌套布局的想法,但看起来这是最好的方法,谢谢。只有在您第一次定义资源ID时才需要加号。
<View
    android:id="@+id/anchor_top_right"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    />
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >

    <View
        android:id="@+id/anchor_top_right"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        />
    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:gravity="center_vertical"
        android:text="@string/some_text"
        />
    <Spinner
        android:id="@+id/spinner"
        android:layout_width="74dp"
        android:layout_height="40dp"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/err"
        />
    <ImageView
        android:id="@+id/err"
        android:layout_centerVertical="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/anchor_top_right"
        android:src="@drawable/ic_error"
        />
</RelativeLayout>