Skip to main content

AndroidでTextViewのフォントサイズのAuto Resizeをやってみた

androidでTextViewのフォントサイズを指定すると思うけど
そもそも枠を固定して文字の長さで
フォントサイズを自動でリサイズできないかと思いやり方を調べてみた


・コード

<androidx.appcompat.widget.AppCompatTextView
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:text="masterka is great! lovely! wonderful! super! kindly!"
    app:autoSizeMinTextSize="1sp"
    app:autoSizeMaxTextSize="200sp"
    app:autoSizeStepGranularity="2dp"
    app:autoSizeTextType="uniform" />

 

・説明
autoSizeMinTextSize:最小
autoSizeMaxTextSize:最大
autoSizeStepGranularity:ステップ数を変更
autoSizeStepGranularity:uniformとnoneのみ

また、APIレベル26未満をサポートするならAppCompatTextViewを利用する必要がある

 

・AndroidX
AndroidX導入で以下のエラーが出たら
This project uses AndroidX dependencies, but the ‘android.useAndroidX’ property is not enabled
gradle.propertiesに以下を記載
android.useAndroidX=true
android.enableJetifier=true

 

参考
https://developer.android.com/reference/androidx/appcompat/widget/AppCompatTextView
https://developer.android.com/reference/android/widget/TextView.html
https://stackoverflow.com/questions/60506895/android-studio-3-6-1-error-this-project-uses-androidx-dependencies

関連記事:

Pocket