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>