【Android】レイアウトが大文字になってしまうので共通設定で変更した

こんにちは、kazuです。
本日は、アプリレイアウトの文字列が大文字になってしまう現象が起きてしまいました。
その時に色々と調べて共通にできる方法があったので、その方法を記事にしたいと思います。

はじめに

今回調査したきっかけは小文字を表示したいのに自動で大文字になってしまうという現象が起きたので調査をしました。
実際にいかが画像になります。


今文字が大文字に表示されていますよね実はこれ小文字で文字列を指定しています。
これだといざ小文字で表示させたいと思った時不便ですよね?
今回の例であればandroid:textAllCaps="false"を指定すれば一時的には治ると思いますが、
全てに指定するのもめんどくさいですよね?
少なくとも私はめんどくさいと思ったので、それを一括指定できる方法があるか調べてあったと言うことです。

実際にコードを見てみよう

今回確認しなければいけないのは、AndroidManifest.xmlとそして確認したのち修正するのはThemes.xmlになります。
プロジェクト作成時AndroidManifest.xmlのthemeの指定はandroid:theme="@style/Theme.<プロジェクト名>"になっていると思います。
次に確認したのち実際に修正をおこなっていきます。
修正するのはthemes.xmlになります。
ちなみにthemes.xmlは以下の2つがあるので、両方修正してくださいね!
res/value-night/themes.xmlres/value/themes.xml

<application
        <!-- ↓ これを確認する -->
        android:theme="@style/Theme.Sampleproject">
</application>
<style name="Theme.Sampleproject" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
  <!-- 今回の大文字に自動変換し内容にする処理を追加 -->
  <item name="android:textAllCaps">false</item>
</style>
<style name="Theme.Sampleproject" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
   <!-- 今回の大文字に自動変換し内容にする処理を追加 -->
  <item name="android:textAllCaps">false</item>
</style>

修正した後

実際に上記の2箇所のみ修正した後の画像が以下になります。

最後に

いかがでしたでしょうか?
ちゃんと小文字になっていますね!
他の設定もできると思います。
一括設定したい時はここで設定するのもありですね。
最後までご覧いただきありがとうございました。