Android
Automatyczne powiększanie widoków tekstu
Szukaj…
Wprowadzenie
TextView, który automatycznie zmienia rozmiar tekstu, aby idealnie pasował do jego granic.
Android O pozwala na instruowanie TextView, aby wielkość tekstu rozszerzała się lub kurczyła automatycznie w celu wypełnienia jego układu na podstawie cech i granic TextView.
Możesz ustawić automatyczne sortowanie TextView w kodzie lub XML.
Istnieją dwa sposoby ustawiania automatycznego dostosowywania TextView: ziarnistość i wstępnie ustawione rozmiary
Ziarnistość
W Javie:
Wywołaj metodę setAutoSizeTextTypeUniformWithConfiguration()
:
setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
W XML:
Użyj autoSizeMinTextSize
, autoSizeMaxTextSize
i autoSizeStepGranularity
aby ustawić wymiary automatycznej zmiany rozmiaru w pliku XML układu:
<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” />
Sprawdź AutosizingTextViews-Demo na GitHub, aby uzyskać więcej informacji.
Wstępnie ustawione rozmiary
W Javie:
Wywołaj metodę setAutoSizeTextTypeUniformWithPresetSizes()
:
setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
W XML:
Użyj atrybutu autoSizePresetSizes
w pliku XML układu:
<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” />
Aby uzyskać dostęp do tablicy jako zasobu, zdefiniuj tablicę w pliku 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>
Sprawdź AutosizingTextViews-Demo na GitHub, aby uzyskać więcej informacji.