Android
Автообновление TextViews
Поиск…
Вступление
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.