Android
Textansicht automatisch anpassen
Suche…
Einführung
Eine Textansicht, die den Text automatisch an seine Grenzen anpasst.
Mit Android O können Sie eine TextView anweisen, die Größe des Texts automatisch erweitern oder verkleinern zu lassen, um sein Layout basierend auf den Eigenschaften und Grenzen des TextView zu füllen.
Sie können die automatische Anpassung von TextView entweder in Code oder in XML einrichten.
Es gibt zwei Möglichkeiten, die automatische Größenänderung von TextView einzustellen: Granularität und Vorgabegrößen
Die Granularität
In Java:
Rufen Sie die setAutoSizeTextTypeUniformWithConfiguration()
-Methode auf:
setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
In XML:
Verwenden Sie die autoSizeMinTextSize
, autoSizeMaxTextSize
und autoSizeStepGranularity
, um die autoSizeStepGranularity
für die automatische autoSizeStepGranularity
in der XML-Layoutdatei autoSizeStepGranularity
:
<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” />
Weitere Informationen finden Sie in der AutosizingTextViews-Demo bei GitHub.
Preset-Größen
In Java:
Rufen Sie die Methode setAutoSizeTextTypeUniformWithPresetSizes()
:
setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
In XML:
Verwenden Sie das autoSizePresetSizes
Attribut in der XML-Layoutdatei:
<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” />
Um auf das Array als Ressource zuzugreifen, definieren Sie das Array in der Datei 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>
Weitere Informationen finden Sie in der AutosizingTextViews-Demo bei GitHub.