если вы не знаете размер textview. например Вы помещаете их в linearlayout и устанавливаете высоту или ширину в 0dp. тогда я получил решение. вам нужно установитьAutoSizeTextTypeWithDefaults в событии OnSizeChanged.

ользую новую функцию автоматического изменения размера, добавленную в библиотеку поддержки 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 с желтым фоном круга.)

Как видите, текстовое представление не изменяется вообще. У вас есть идеи, что делать?

Благодарю.

Ответы на вопрос(8)

Ваш ответ на вопрос