Android
Tekstweergave automatisch aanpassen
Zoeken…
Invoering
Een tekstweergave die automatisch de grootte van tekst aanpast zodat deze perfect binnen de grenzen past.
Met Android O kunt u een TextView opdracht geven om de grootte van de tekst automatisch uit te breiden of te verkleinen om de lay-out te vullen op basis van de kenmerken en grenzen van de TextView.
U kunt het automatisch aanpassen van TextView instellen in code of XML.
Er zijn twee manieren om Autosizing TextView in te stellen: Granularity en Preset Sizes
granularity
In Java:
Roep de methode setAutoSizeTextTypeUniformWithConfiguration()
:
setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
In XML:
Gebruik de autoSizeMinTextSize
, autoSizeMaxTextSize
en autoSizeStepGranularity
om de dimensies voor automatisch autoSizeStepGranularity
in het XML-lay- autoSizeStepGranularity
te stellen:
<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” />
Bekijk de AutosizingTextViews-demo op GitHub voor meer informatie.
Vooraf ingestelde maten
In Java:
Roep de methode setAutoSizeTextTypeUniformWithPresetSizes()
:
setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
In XML:
Gebruik het kenmerk autoSizePresetSizes
in het XML-lay- autoSizePresetSizes
:
<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” />
Om toegang te krijgen tot de array als een bron, definieert u de array in het bestand 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>
Bekijk de AutosizingTextViews-demo op GitHub voor meer informatie.