ConstraintLayout中的Textview没有调整大小

时间:2017-08-28 20:23:57

标签: android android-layout

我在ConstraintLayout中有一个漂浮在图像上的TextView,并且样式看起来像徽章。文本视图使用this.get('me/profile') .subscribe(data => { console.log(data); }); ,有时有2个字母,有时为3.有时需要更新TextView。发生这种情况时,TextView的容器不会动态调整大小。这意味着如果新文本在之前为2时是3个字符,它现在看起来太大了,如果它现在是2个字符,当它为3时它会剪切文本。

如何让TextView适当调整大小?

有问题的TextView被称为wrap_content我的布局:

@id/attendance

视图被夸大和分配的代码段。首次创建视图时以及更新视图时调用此方法。有问题的TextView是<?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" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/image_holder" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="vertical"> <com.pkmmte.view.CircularImageView android:id="@+id/image" android:layout_width="50dp" android:layout_height="50dp" android:layout_marginBottom="1dp" tools:background="@color/accent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@+id/first_name" app:border="true" app:border_color="@color/dark_gray" app:border_width="2dp" app:shadow="false" /> <TextView android:id="@+id/attendance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_marginLeft="40dp" android:minWidth="15dp" android:maxWidth="50dp" android:minHeight="20dp" android:maxHeight="20dp" android:padding="12dp" tools:text="100" app:layout_constraintStart_toStartOf="@id/image" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/image" app:layout_goneMarginTop="20dp" tools:background="@color/green_complete" android:shadowColor="@color/black" android:textColor="@color/white" android:textSize="14sp" /> <TextView android:id="@+id/first_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:ellipsize="end" android:maxLines="1" tools:text="Suzie" app:layout_constraintStart_toStartOf="@id/image" app:layout_constraintEnd_toEndOf="@id/image" app:layout_constraintTop_toBottomOf="@id/image" app:layout_constraintBottom_toTopOf="@+id/last_name" android:layout_marginTop="2dp" android:textColor="@color/white" android:textSize="12sp" android:textStyle="bold"/> <TextView android:id="@+id/last_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="4dp" app:layout_constraintTop_toBottomOf="@id/first_name" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="@id/image" app:layout_constraintEnd_toEndOf="@id/image" android:ellipsize="end" android:maxLines="1" tools:text="Cue" android:textColor="@color/white" android:textSize="12sp" /> </android.support.constraint.ConstraintLayout>

gradeText

1 个答案:

答案 0 :(得分:0)

事实证明,一旦将视图添加到ViewGroup,您就不能指望它在数据更改和wrap_content正在运行时正确调整自身大小。解决方案以其他人写的精彩静态助手类的形式出现。它在这里:https://github.com/ea167/android-layout-wrap-content-updater