防止TextView在ConstraintLayout中重叠另一个?

时间:2019-07-08 19:01:02

标签: android android-constraintlayout

我遇到一个问题,其中"Den Dolder" TextView总是与日期TextView重叠。我已经尝试过使用app:layout_constraintRight_toLeftOf="@id/date_txtView",但是却没有任何效果!

没关系:

That's okay

那不行:

That's not okay

1 个答案:

答案 0 :(得分:1)

简短解决方案:

尝试将app:layout_constraintHorizontal_weight="1"android:layout_width="0dp"添加到两个textView中-它们在布局中的宽度都相同。

用于更复杂布局的另一种解决方案:

您需要使两个文本视图的宽度都为0dp,因此,如果文本太长,它们将掉一行。

例如,在您的两个textView之间设置Chain,如下所示:

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