我使用支持库26中添加的新自适应调整大小功能。我阅读了文档,可以在这里找到: https://developer.android.com/preview/features/autosizing-textview.html
我认为它应该这样工作:您可以使用此属性启用自动调整大小:app:autoSizeTextType="uniform"
。我认为TextView
应该利用所有可用空间来显示整个文本(而不只是一部分-它不应该被裁剪),并且textSize
应该尽可能大。如果您需要限制文本的最大或最小大小,则可以使用这两个属性:
app:autoSizeMinTextSize="XXsp" // (you can also use px or dp values.)
或者app:autoSizeMaxTextSize="XXsp"
目前为止一切顺利。假设我需要一个宽度为56dp的TextView。我有不同长度的文本,并且想将这些文本设置到此中。它应该自动调整大小,以便在最大可能的textSize
下显示整个文本(所有字符+未被裁剪)。
这是我的TextView:
<android.support.v7.widget.AppCompatTextView
android:id="@+id/vName"
style="@style/TextView.AutoSize"
android:layout_width="56dp"
android:gravity="bottom|center_horizontal"
android:maxLines="1"
app:autoSizeMinTextSize="1px"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toTopOf="@id/vGuideline"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
很不幸,文本视图被裁剪了。我想将此字符串设置为上面的文本视图的文本:“Groupa”,但结果是:
![enter image description here](https://istack.dev59.com/mU6cn.webp)
(TextView在带有黄色圆圈背景的约束布局中。)
如您所见,文本视图根本没有重新调整大小。你有什么办法吗?
谢谢。