Android
Autosizing TextViews
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.