LoginSignup
0
1

More than 1 year has passed since last update.

AndroidStudio 静的メニューの定義

Posted at

参考書「作って楽しむプログラミング Androidアプリ超入門」の勉強をまとめていきます。

メニューを定義する

android端末でメニューボタンをタッチすると、設定や、保存などのオプションメニューが表示される。

メニューには、あらかじめ決められた項目を表示する静的メニューと、アプリの状態に応じて変更する動的メニューがある。

今回は静的メニューを作成する

メニューの定義はXMLファイルを作成する
->AndroidStudioでresフォルダを右クリックし、New > Android Resource File

menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
        //item1つに1のメニュー内容を記載  
        //android:id ;選択肢のid
        //android:title ; 表示文字列
    <item android:id="@+id/item1" android:title="設定"></item>
    <item android:id="@+id/item2" android:title="このアプリについて"></item>

</menu>

item属性の中には、app:showAsAction : アクションバーに表示するかどうかもある。

メニューを表示する

オプションメニューを表示するには、画面のタッチやセンサーを利用する場合と同様にイベントに応じて呼び出されるコードを追加する。
しかし、メニューの場合は、新たにイベントリスナーを設定する必要はなく、Activityクラスのメソッド(あらかじめ呼び出されるメソッドが定義されている)をオーバーライドするだけで表示ができる。
->AndroidStudioのmainActivity.kt > Codeメニュー > Overrride Menthods >イベント毎のメソッドを選択

主なメニューのイベント

メニューのイベント 実行されるメソッド タイミング
メニューが作成される時 onCreateOptionMenu 起動時のみ
メニュー表示する時 onPrepareOptionMenu 毎回
メニューの項目を選択した時 onOptionsItemSelected 選択時のみ
メニューが閉じられる時 onOptionMenuClosed 毎回

参考
https://qiita.com/watataku8911/items/5faad0384b54d0c53f6e
https://developer.android.com/guide/topics/resources/menu-resource?hl=ja

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1