我有一个相对布局,其中左侧有一个 TextView
,右侧有一个 Spinner。如果用户选择了不正确的变体,我还需要一个错误图像来显示。
<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>
我希望我的微调器在错误未显示(visibility = GONE)时向右对齐,并在错误可见时将其移动到错误图像的左侧。我怎么做?现在它只是忽略了这一点:
android:layout_toLeftOf="@+id/err"
编辑:谢谢,我更正了打字错误,但这不是问题的原因
最佳答案
也许你想要这样的东西:
<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>
编辑:只需将您的 Spinner
和 ImageView
在 LinearLayout
里面像这个。
编辑 2: 我刚收到 +10
由于我对这个解决方案有点惭愧,请按照以下步骤操作:
因此,对于与此相关的 future 问题,请忽略我的回答并创建您自己的 custom view
扩展 ConstraintLayout
并包括 Spinner
和一个 ImageView
在自定义布局上,最好使用 Kotlin。谢谢!
关于Android 相对布局 : ToLeftOf gone view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25400679/