首页 > 解决方案 > 使用 constraintWidth_max 在 TextView 内填充

问题描述

我有一个TextView内部约束布局,用于在RecyclerView. 一些奇怪的行为正在发生。当应用程序第一次启动时,宽度是正确的,但是当我向上和向下滚动时,TextView 的宽度已经改变,现在正在填充额外的空间。

代码

<TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="80dp"
        android:layout_marginEnd="64dp"
        android:background="#C3C3C3"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintWidth_max="wrap"
        tools:text="hello there" />

原来的:

原来的

滚动后:

滚动后

这种行为是否有原因,如何将其修复为预期的?

标签: androidandroid-layoutandroid-recyclerviewtextviewandroid-constraintlayout

解决方案


可能会android:layout_width="0dp"导致问题或一些额外的保证金。

试试这个,我已经删除了额外的边距..

<TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#C3C3C3"
        android:padding="10dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        tools:text="hello there" />

推荐阅读