Recherche…


Introduction

Un TextView qui redimensionne automatiquement le texte pour s'adapter parfaitement à ses limites.

Android O vous permet de demander à un TextView de laisser la taille du texte se développer ou se contracter automatiquement pour remplir sa mise en page en fonction des caractéristiques et des limites de TextView.

Vous pouvez configurer le redimensionnement automatique de TextView en code ou en XML.

Il existe deux manières de définir le redimensionnement automatique de TextView: Granularité et tailles prédéfinies

Granularité

En Java:

Appelez la méthode setAutoSizeTextTypeUniformWithConfiguration() :

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

En XML:

Utilisez les autoSizeMinTextSize , autoSizeMaxTextSize et autoSizeStepGranularity pour définir les dimensions de dimensionnement automatique dans le fichier XML de présentation:

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

Consultez le document AutosizingTextViews-Demo sur GitHub pour plus de détails.

Tailles prédéfinies

En Java:

Appelez la méthode setAutoSizeTextTypeUniformWithPresetSizes() :

setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)

En XML:

Utilisez l'attribut autoSizePresetSizes dans le fichier XML de présentation:

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

Pour accéder au tableau en tant que ressource, définissez le tableau dans le fichier 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>

Consultez le document AutosizingTextViews-Demo sur GitHub pour plus de détails.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow