Android
Autosizing TextViews
Sök…
Introduktion
En TextView som automatiskt ändrar storlek på text så att den passar perfekt inom sina gränser.
Android O låter dig instruera en TextView att låta storleken på texten expandera eller kontraheras automatiskt för att fylla dess layout baserat på TextViews egenskaper och gränser.
Du kan ställa in TextView autosizing i antingen kod eller XML.
Det finns två sätt att ställa in automatisk visning av TextView: Granularity och Preset Storlekar
kornighet
I Java:
Ring setAutoSizeTextTypeUniformWithConfiguration()
:
setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
I XML:
Använd autoSizeMinTextSize
, autoSizeMaxTextSize
och autoSizeStepGranularity
att ställa in dimensioner för automatisk storlek i XML-fillayouten:
<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” />
Kolla in AutosizingTextViews-Demo på GitHub för mer information.
Förinställda storlekar
I Java:
Ring setAutoSizeTextTypeUniformWithPresetSizes()
:
setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
I XML:
Använd attributet autoSizePresetSizes
i XML-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” />
För att få tillgång till matrisen som en resurs definierar du matrisen i filen 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>
Kolla in AutosizingTextViews-Demo på GitHub för mer information.