Buscar..


Introducción

Un TextView que automáticamente cambia el tamaño del texto para que se ajuste perfectamente a sus límites.

Android O le permite indicar a TextView que permita que el tamaño del texto se expanda o se contraiga automáticamente para completar su diseño según las características y los límites de TextView.

Puede configurar el tamaño automático de TextView en código o XML.

Hay dos formas de configurar TextView de tamaño automático: granularidad y tamaños preestablecidos

Granularidad

En Java:

Llame al método setAutoSizeTextTypeUniformWithConfiguration() :

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

En XML:

Utilice los atributos autoSizeMinTextSize , autoSizeMaxTextSize y autoSizeStepGranularity para establecer las dimensiones de tamaño automático en el archivo XML de diseño:

<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” />

Vea la demostración de AutosizingTextViews en GitHub para más detalles.

Tamaños preestablecidos

En Java:

Llame al método setAutoSizeTextTypeUniformWithPresetSizes() :

setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)

En XML:

Use el atributo autoSizePresetSizes en el archivo XML de diseño:

<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” />

Para acceder a la matriz como un recurso, defina la matriz en el archivo 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>

Vea la demostración de AutosizingTextViews en GitHub para más detalles.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow