Поиск…


Вступление

TextView, который автоматически изменяет размер текста в соответствии с его границами.

Android O позволяет вам инструктировать TextView, чтобы размер текста расширялся или сокращался автоматически, чтобы заполнить его макет на основе характеристик и границ TextView.

Вы можете настроить автоматизацию TextView в коде или XML.

Существует два способа установки автоматической обработки TextView: гранулярность и предустановленные размеры

Зернистость

В Java:

Вызвать метод setAutoSizeTextTypeUniformWithConfiguration() :

setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)

В XML:

Используйте autoSizeMinTextSize , autoSizeMaxTextSize и autoSizeStepGranularity для установки параметров автоматического калибровки в XML-файле макета:

<TextView android:id=”@+id/autosizing_textview_presetsize” 
        android:layout_width=”wrap_content” 
        android:layout_height=”250dp” 
        android:layout_marginLeft=”0dp” 
        android:layout_marginTop=”0dp” 
        android:autoSizeMaxTextSize=”100sp” 
        android:autoSizeMinTextSize=”12sp” 
        android:autoSizeStepGranularity=”2sp” 
        android:autoSizeText=”uniform” 
        android:text=”Hello World!” 
        android:textSize=”100sp” 
        app:layout_constraintLeft_toLeftOf=”parent” 
        app:layout_constraintTop_toTopOf=”parent” />

Для получения дополнительной информации просмотрите AutosizingTextViews-Demo в GitHub.

Предустановленные размеры

В Java:

Вызвать метод setAutoSizeTextTypeUniformWithPresetSizes() :

setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)

В XML:

Используйте атрибут autoSizePresetSizes в XML-файле макета:

<TextView android:id=”@+id/autosizing_textview_presetsize” 
        android:layout_width=”wrap_content” 
        android:layout_height=”250dp” 
        android:layout_marginLeft=”0dp” 
        android:layout_marginTop=”0dp” 
        android:autoSizeText=”uniform” 
        android:autoSizePresetSizes=”@array/autosize_text_sizes” 
        android:text=”Hello World!” 
        android:textSize=”100sp” 
        app:layout_constraintLeft_toLeftOf=”parent” 
        app:layout_constraintTop_toTopOf=”parent” />

Чтобы получить доступ к массиву в качестве ресурса, определите массив в файле res / values ​​/ arrays.xml :

<array name=”autosize_text_sizes”>
    <item>10sp</item>
    <item>12sp</item>
    <item>20sp</item>
    <item>40sp</item>
    <item>100sp</item>
</array>

Для получения дополнительной информации просмотрите AutosizingTextViews-Demo в GitHub.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow