#android #xml #android-constraintlayout #overlap
#Android #xml #android-constraintlayout #перекрытие
Вопрос:
Я хотел бы избежать записи «Статуса» в двух строках, я использую компоновку ограничений. Я просмотрел другие подобные вопросы, но не нашел, как решить проблему.
Вот мой код:
<?xml version="1.0" encoding="utf-8"?><!--
As recommended by Google, we use a ConstraintLayout
as the root element
We add a padding all around using the padding attribute
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
>
<!--
* We use the hint attribute to display the "type" string
* The type string has been extracted into a dedicated file
* The width is "0dp" because the "match_parent" value cannot be
used with the constraintLayout
* We use the inputType attribute to display the best keyboard
to the user
*
-->
<TextView
android:id="@ id/status_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/price"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/status"
android:text="Status :"
android:textStyle=""
android:textSize="18sp"
/>
<Spinner
android:id="@ id/status"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toEndOf="@id/status_label"
app:layout_constraintTop_toTopOf="@id/status_label"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
А вот и вид из окна:
Вид
Надеюсь, вы предоставите несколько решений.
Комментарии:
1. Оберните свой textview и spinner в linearlayout, а также соответствующим образом установите отступы / поля.
2. Вы можете сделать ширину
status_label
доwrap_content
3. Это также может сработать, если вы просто удалите приложение:layout_constraintEnd_toStartOf=»@id / status»
4. @KrishnaSharma да, это тоже работает
Ответ №1:
Вы можете сделать ширину status_label
до wrap_content
Комментарии:
1. Было бы здорово, если бы вы приняли этот ответ, чтобы другие также получили от него помощь.
Ответ №2:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
>
<!--
* We use the hint attribute to display the "type" string
* The type string has been extracted into a dedicated file
* The width is "0dp" because the "match_parent" value cannot be
used with the constraintLayout
* We use the inputType attribute to display the best keyboard
to the user
*
-->
<TextView
android:id="@ id/status_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/status"
android:text="Status :"
android:textStyle=""
android:textSize="18sp"
/>
<Spinner
android:id="@ id/status"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toEndOf="@id/status_label"
app:layout_constraintTop_toBottomOf="@id/status_label"
/>
</androidx.constraintlayout.виджет.ConstraintLayout>
И здесь
Комментарии:
1. Это не работает, текстовое представление статуса просто немного уменьшается, но ничего не меняется в отношении перекрытия