1.オプションメニューが作れなかった問題
3年ぶりぐらいにAndroidプログラミングを再開した。その時使っていた教科書を広げて「オプションメニュー」を作ろうとしたが、できない。アクティビティをよく見るとアクションバーがいつの間にか無くなっている!?(そういえば、最近のアプリにはアクションバーなんかないなぁ。)だから、オプションメニューが表示されないのかと納得。
図 最近のアクティビティー(アクションバーなし)と昔のアクティビティー
さて、なぜアクションバーが無いのか調べたとこを、リソースファイルの/res/themes.xmlに原因があることが分かった。
Theme.Material3.DayNight.NoActionBarとするとアクションバーが表示されず、
またTheme.Material3.DayNightとすると表示される。
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<!-- もともとの設定(アクションバーを表示させない時)
アクションバーを表示させるには、下の行の".NoActionBar"を削除 -->
<!-- style name="Base.Theme.SEC_06_02_01_OpthionMenu"
parent="Theme.Material3.DayNight.NoActionBar" -->
<!-- アクションバーを表示させる時 -->
<style name="Base.Theme.SEC_06_02_01_OpthionMenu"
parent="Theme.Material3.DayNight" >
<!-- アクションバーの表示・非表示について -->
<!-- https://zenn.dev/hajime9109/scraps/5eac78893e58f2 -->
<!-- Customize your light theme here. -->
<item name="colorPrimary">@color/my_light_primary</item>
</style>
<style name="Theme.SEC_06_02_01_OpthionMenu" parent="Base.Theme.SEC_06_02_01_OpthionMenu" />
</resources>
Android Studio Flamingo(2023年4月)からアクションバーがデフォルトで非表示になったらしい(一次情報を調べたわけではないが)。
2.余談
3年ぶりにandroidプログラミングを再開するにあたり、AndroidStudioの開発環境が進化した分、確実に浦島太郎になっていると思い、いきなりプログラミング Androidアプリの開発を買った。内容ははじめてAndroidプログラミングをする人向けであった。オプションメニューが作れない問題に遭遇し、再び読み直したところオプションメニューを使うサンプルアプリの掲載はなかった。
Android Studio Flamingo(2023年4月)以降、アクションバーが表示されないのがデフォルトになったため、今後オプションメニューを使わないことがトレンドになるのだろう。
3.最後に
斎藤著「Androidアプリ開発の教科書Kotlin対応(初版)」や金田著「Kotlin対応 はじめてのAndroidプログラミング第4版」、山田著「はじめてのAndroidアプリ開発 Kotlin編」などの古い教科書で勉強されている方々に本記事を捧げます。