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.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow