ConstraintLayout 剪辑文本中的 TextView

TextView inside ConstraintLayout clips text

我在 ConstraintLayout 中遇到了 TextView 的奇怪行为。

TextView 剪切文本。 在屏幕截图上,您可以看到三个选项:

  1. TextView 的宽度="match_parent" - 正确的边界,但文本被剪裁了;

  2. TextView 的宽度="wrap_content" - 不正确的边界和文本再次被剪裁;

  3. LinearLayout 中的 TextView - 这是它本应如此的示例。

ConstraintLayout,你怎么了?


这是我的 XML 布局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:background="#727272"
    android:orientation="vertical"
    android:padding="16dp">

    <android.support.constraint.ConstraintLayout
        android:id="@+id/block"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:padding="16dp">

        <ImageView
            android:id="@+id/img"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:background="#000000"
            app:layout_constraintLeft_toLeftOf="@+id/block"
            app:layout_constraintTop_toTopOf="@+id/block" />

        <TextView
            android:id="@+id/text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            android:background="#cccccc"
            android:padding="6dp"
            android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
            app:layout_constraintLeft_toRightOf="@+id/img"
            app:layout_constraintRight_toRightOf="@+id/block"
            app:layout_constraintTop_toTopOf="@+id/img" />

    </android.support.constraint.ConstraintLayout>

    <android.support.constraint.ConstraintLayout
        android:id="@+id/block2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:padding="16dp">

        <ImageView
            android:id="@+id/img2"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:background="#000000"
            app:layout_constraintLeft_toLeftOf="@+id/block2"
            app:layout_constraintTop_toTopOf="@+id/block2" />

        <TextView
            android:id="@+id/text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            android:background="#cccccc"
            android:padding="6dp"
            android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
            app:layout_constraintLeft_toRightOf="@+id/img2"
            app:layout_constraintRight_toRightOf="@+id/block2"
            app:layout_constraintTop_toTopOf="@+id/img2" />

    </android.support.constraint.ConstraintLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:orientation="horizontal"
        android:padding="16dp">

        <ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:background="#000000" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            android:background="#cccccc"
            android:padding="6dp"
            android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." />

    </LinearLayout>

好的,这是已知错误,正如 Google 承诺的那样

Released in alpha 5

https://code.google.com/p/android/issues/detail?id=215537