如何解决AppCompatTextView autoSizeTextType不起作用
在我的activity.xml
中,我有两个看起来像这样的AppCompatTextView
:
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/user_full_name_text_view"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:fontFamily="@font/roboto_bold"
android:maxLines="1"
android:text="@string/full_name"
android:textColor="@android:color/white"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/profile_image"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/user_name_text_view"
android:layout_width="0dp"
android:layout_height="20dp"
android:layout_marginEnd="8dp"
android:fontFamily="@font/roboto"
android:maxLines="1"
android:text="@string/username"
android:textColor="@android:color/white"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="@+id/user_view"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/user_full_name_text_view"
app:layout_constraintTop_toBottomOf="@+id/user_full_name_text_view"
app:layout_constraintVertical_bias="0.0" />
在我的设计标签中,活动的这一部分如下所示:
现在看起来正确,因为文本已自动调整大小以填充第一个AppCompatTextView
的高度。但是,当我在移动设备上运行我的应用程序时,它看起来像这样:
为什么文本不能自动调整大小?如何解决此问题,使文本填充AppCompatTextView
的整个宽度和高度?
解决方法
自动调整doesn't play well with wrap_content
的大小,可能是因为它需要先知道其大小,然后才能说出其内容的大小。您是否在层次结构中的任何地方进行任何操作,例如AppCompatTextViews
所在的布局?
现在,您的宽度取决于parent
的宽度,但是如果是wrap_content
(或其父级等),则最终将获得文本视图问它要宽到多少,就会感到困惑
我想问题是,添加app:autoSizeTextType="uniform"
是不够的。
使用uniform
类型时,还应指定步骤粒度。
尝试在下面使用此类属性:
<androidx.appcompat.widget.AppCompatTextView
...
app:autoSizeTextType="uniform"
app:autoSizeMinTextSize="12sp"
app:autoSizeMaxTextSize="24sp"
app:autoSizeStepGranularity="1sp"
... />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。