[Android] ボタンのテキストの英字が大文字になる問題の修正

2018年1月25日(更新: 2018年4月26日)

Androidアプリに表示するボタンのテキストにアルファベットを使用した場合、テーマによっては強制的に小文字が大文字になっていまします。

Androidのボタンのテキストが大文字になる問題

小文字を大文字にしたくない場合の修正方法について紹介します。

XMLレイアウト上で修正

XMLレイアウトからボタンを作成した場合は、以下のように android:textAllCaps を false にすることで、小文字を小文字のまま表示することができます。

    <Button
        android:id="@+id/start"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:textSize="40sp"
        android:textAllCaps="false"
        android:text="This is a test" />

プログラム上で修正

プログラムでボタンを作成・追加した場合は、以下のようにメソッド setAllCaps で false を設定します。

Javaの場合

Button button = (Button) findViewById(R.id.start);
button.setAllCaps(false);

Kotlinの場合

val button: Button = findViewById(R.id.start)
button.setAllCaps(false)

上記のどちらかを行った場合、正常に小文字が表示されると思います。

Androidのボタンに小文字が表示された

おしまい

以上が、ボタンのアルファベットが大文字で表示されてしまう場合の対処法です。

根本的にテーマの修正が難しい場合には、上記の方法を使うと良いと思われます。

コメントを残す

メールアドレスが公開されることはありません。