Предотвратить TextView перекрытия другого в ConstraintLayout? - PullRequest
3 голосов
/ 08 июля 2019

Я столкнулся с проблемой, когда "Den Dolder" TextView всегда перекрывает дату TextView. Я пытался использовать app:layout_constraintRight_toLeftOf="@id/date_txtView", но на удивление это никак не сказалось!

Все в порядке:

That's okay

Это не хорошо:

That's not okay

1 Ответ

1 голос
/ 08 июля 2019

Краткое решение:

Попробуйте добавить app:layout_constraintHorizontal_weight="1" и android:layout_width="0dp" к обоим текстовым представлениям - они будут иметь одинаковую ширину в макете.

Другое решение для более сложных макетов:

Вы должны указать, что оба ваших текстовых представления имеют ширину 0dp, поэтому они пропустят строку, если текст слишком длинный.

Например, , установите Цепочка между вашими двумя текстовыми представлениями следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

<TextView
    android:id="@+id/textView3"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    app:layout_constraintEnd_toStartOf="@+id/textView4"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    android:text="TextView"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/textView3"
    app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

И это будет выглядеть так (ни один textView не перекрывает другой, они просто опускают строку):

enter image description here

...