Ricerca…


introduzione

Un TextView che ridimensiona automaticamente il testo per adattarsi perfettamente ai suoi limiti.

Android O ti consente di istruire un TextView affinché le dimensioni del testo si espandano o si contraggano automaticamente per riempire il suo layout in base alle caratteristiche e ai limiti del TextView.

È possibile impostare l'autosizing TextView in entrambi i codici o XML.

Esistono due modi per impostare l'autosizing di TextView: Granularity e dimensioni predefinite

granularità

In Java:

Chiama il metodo setAutoSizeTextTypeUniformWithConfiguration() :

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

In XML:

Utilizzare gli autoSizeMinTextSize , autoSizeMaxTextSize e autoSizeStepGranularity per impostare le dimensioni di ridimensionamento automatico nel file XML di layout:

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

Guarda la demo di AutosizingTextViews su GitHub per maggiori dettagli.

Dimensioni predefinite

In Java:

Chiama il metodo setAutoSizeTextTypeUniformWithPresetSizes() :

setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)

In XML:

Utilizzare l'attributo autoSizePresetSizes nel file XML di layout:

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

Per accedere alla matrice come risorsa, definire la matrice nel file 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>

Guarda la demo di AutosizingTextViews su GitHub per maggiori dettagli.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow