Android
テキストビューの自動サイズ調整
サーチ…
前書き
境界内に完全に収まるようにテキストのサイズを自動的に変更するTextView。
Android Oを使用すると、TextViewの特性や境界に基づいてテキストのサイズを自動的に拡大または縮小してレイアウトに合わせるようTextViewに指示できます。
TextViewの自動サイズ設定は、コードまたはXMLで設定できます。
TextViewの自動サイズ設定には2つの方法があります。 粒度とプリセットサイズ
粒状性
Javaの場合:
setAutoSizeTextTypeUniformWithConfiguration()
メソッドを呼び出します。
setAutoSizeTextTypeUniformWithConfiguration(int autoSizeMinTextSize, int autoSizeMaxTextSize, int autoSizeStepGranularity, int unit)
XMLでは:
autoSizeMinTextSize
、 autoSizeMaxTextSize
、およびautoSizeStepGranularity
属性を使用して、レイアウトXMLファイルの自動サイズ設定のディメンションを設定します。
<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” />
詳細については、GitHubのAutosizingTextViews-Demoを参照してください。
プリセットサイズ
Javaの場合:
setAutoSizeTextTypeUniformWithPresetSizes()
メソッドを呼び出します。
setAutoSizeTextTypeUniformWithPresetSizes(int[] presetSizes, int unit)
XMLでは:
レイアウトXMLファイルで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” />
配列としてリソースにアクセスするには、 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>
詳細については、GitHubのAutosizingTextViews-Demoを参照してください。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow