Избегайте перекрытия макета ограничения Android

Я бы хотел, чтобы «Статус» не писался в две строки, я использую макет ограничения. Я смотрел другие подобные вопросы, но я не нашел, как решить проблему.

Вот мой код:

<?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>

А вот вид: Посмотреть

Надеюсь, вы предоставите некоторые решения.

Оберните текстовое представление и счетчик в linearlayout, а также установите соответствующие отступы/маржи.

Bhavnik 14.12.2020 14:44

Вы можете сделать ширину от status_label до wrap_content

akhil nair 14.12.2020 14:44

Это также может сработать, если вы просто удалите app:layout_constraintEnd_toStartOf = "@id/status"

Krishna Sharma 14.12.2020 15:02

@KrishnaSharma да, это тоже работает

Pierre A 14.12.2020 15:10
0
4
112
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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.widget.ConstraintLayout> И здесь

Это не работает, текстовое представление состояния просто немного перемещается вниз, но ничего не меняется в отношении перекрытия

Pierre A 14.12.2020 14:39
Ответ принят как подходящий

Вы можете сделать ширину от status_label до wrap_content

Было бы здорово, если бы вы приняли этот ответ, чтобы другие тоже получили от него помощь.

akhil nair 14.12.2020 14:54

Другие вопросы по теме