当最大/分钟文本大小被击中时,我希望我的TextView
的高度自动调整它的layout_height
大小。
Problem:为了自动调整文本大小,我不得不添加一个layout_height
.有些情况下,文本是一个或两个词和情况下有许多词。当只有一两个单词时,我的文本会击中autoSizeMaxTextSize
,但是layout_height
仍然位于200dp
,然后我的视图看起来在layout_height
(标题)和下视图(主体)之间有一个很大的空间,因为我为layout_height
设置了一个静态高度。当我有较少的文本时,我不希望我的TextView
的高度占据整个200dp
,而是缩小到minHeight。
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:minHeight="100dp"
android:maxHeight="200dp"
android:ellipsize="end"
android:gravity="start"
android:maxLength="70"
android:maxLines="4"
android:text="@{title.trim()}"
android:textAlignment="textStart"
android:textColor="?android:textColorPrimary"
android:textStyle="bold"
android:textSize="42sp"
app:autoSizeMaxTextSize="42sp"
app:autoSizeMinTextSize="8sp"
app:autoSizeTextType="uniform"/>
我尝试将android:layout_height="wrap_content"
与android:minHeight="100dp"
和android:maxHeight="200dp"
以及自动文本调整相结合。结果是对内容进行包装,不进行文本调整,也不使用maxHeight。
有人知道如何做到这一点吗?
发布于 2021-09-28 23:24:26
因为当视图的父视图列出它并计算出给它多少空间时,它不知道这些字段。它只知道layout_字段。它完全基于这一点和父级的布局规则对其进行大小调整。在决定使用何种字体大小时,只有视图本身才使用最小和最大文本大小。
啊,你在身体里问了另一个问题。如果希望根据文本长度更改文本视图的大小,请使用wrap_content表示高度。若要设置最大高度,请将其放入具有layout_height 200的视图中,或在ConstraintLayout中使用禁忌规则设置最大高度。
https://stackoverflow.com/questions/69369375
复制相似问题