Я использую новую функцию автосохранения, добавленную в библиотеку поддержки 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"
Пока все хорошо. Скажем, мне нужен TextView с шириной 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" />
К сожалению, текстовое представление обрезано. Я хотел бы установить эту строку как текст в TextView выше: "Groupa", но это результат:
(TextView находится внутри ConstraintLayout с желтым фоном круга).
Как вы видите, текстовое изображение вообще не изменяется. Вы знаете, что делать?
Спасибо.