

機種に関わらず、スマホを縦にしても横にしても、文字の長さが画面いっぱいの文字サイズになるようにしたいです。どうすれば良いのでしょうか？

普通のTextViewです。

試したこと

[code]

    <TextView
        android:id="@+id/main_text_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:text="Start"
        android:autoSizeTextType="uniform"
        android:textColor="@color/colorBlack" />
    
[/code]

画面の真ん中＆画面いっぱいいっぱいに表示したいのですが左上に小さく表示されてしまいます。


CC BY-SA 4.0
2020-11-26T04:04:29.603
72217
2021-01-04T11:21:08.607
2021-01-04T09:32:39.263
3060
42873
question
android
Android で常に画面いっぱいの文字サイズになるようにするにはどうすれば良いのでしょうか？


  1. `maxLines="1"` を指定する
  2. `autoSizeMaxTestSize` に十分に大きなサイズを指定する（デフォルトのサイズは小さめのため）
  3. 垂直方向は `gravity="center_vertical"` で TextView 内部でセンタリングする

**main_activity.xml:**

[code]

    <androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
        <TextView
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:autoSizeMaxTextSize="300sp"
            android:autoSizeTextType="uniform"
            android:gravity="center_vertical"
            android:maxLines="1"
            android:text="Hello!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
    </androidx.constraintlayout.widget.ConstraintLayout>
    
[/code]

[![プレビューのスクリーンショット](https://i.stack.imgur.com/aL8w3.png)](https://i.stack.imgur.com/aL8w3.png)


CC BY-SA 4.0
2021-01-04T09:08:45.213
73064
2021-01-04T11:21:08.607
2021-01-04T11:21:08.607
7290
7290
72217
answer