首页 > 解决方案 > Autosize = uniform 只缩小文本以适应,不增加大小

问题描述

我有一个 TextView,有时包含一个短字符串,有时包含一个长字符串,我需要将其字体调整为最合适的大小。这在缩小时效果很好。我不知道为什么,但是一旦 textView 字体大小缩小,当使用 setText 更新 TextView 时,即使字符串非常短,它也会保持该大小。所以基本上, autosize=uniform 能够缩小到最合适的位置,但不能增长到最合适的位置。我错过了什么?

           <TextView
            android:id="@+id/preguntaView2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:maxLines="4"
            android:paddingLeft="10dp"
            android:paddingTop="5dp"
            android:paddingRight="10dp"
            android:text="TextView"
            android:textColor="@android:color/background_light"
            android:textSize="24sp"
            app:autoSizeMaxTextSize="24sp"
            app:autoSizeTextType="uniform"
            app:layout_constraintBottom_toTopOf="@+id/verticalLayout"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

标签: javaandroid

解决方案


你需要增加你的app:autoSizeMaxTextSize.

android:textSize="24sp"
app:autoSizeMaxTextSize="24sp"

您已将textSizeand设置autoSizeMaxTextSize为相同的值,这意味着文本只能缩小,因为它不能大于24sp. 要解决此问题,请增加app:autoSizeMaxTextSize.

您也可以尝试对TextView.


推荐阅读