リファレンス・カスタマイズ

【Android Studio】コンテキストメニューの作り方 – Java編

 
Kotlin 編はこちら
 

この記事では コンテキストメニューの作り方を紹介します。

コンテキストメニューとは、ユーザーが画面を長押しすると表示されるメニューです。

以下のようなメニューを作成・表示します。

 


 

開発環境

Android StudioChipmunk 2021.2.1
Android EmulatorNexus 4 (API 32)
minSdk16
compileSdk32

 

プロジェクトについて

ContextMenuSample という名前でプロジェクトを作成しています。

以下のファイルがある状態で実装していきます。

  • MainActivity.java
  • activity_main.xml

 
 

オプションメニューの作り方

1. レイアウトファイルの作成

Android Studio 画面左側のプロジェクト構造にある res フォルダの上で右クリックして、 New → Android Resource File を選択します。


 
 

File name に context_menu.xml と入力、Resource Type は Menu を選択します。


 
 

2. アイコンの用意

メニューに表示するアイコンを用意します。

今回は Android Studio から簡単に用意できる Vector アイコンを使います。

ご自身で用意したアイコン画像を使う場合は drawable フォルダに画像を置いてください。

 

Android Studio 画面の一番左側にある Resource Manager を開きます。


 

+ ボタンをクリックして Vector Asset を選択します。


 

Clip Art をクリックします。


 

phone を検索して OK を押します。


 

Next を押します。


 

Finish を押します。


 

同じ手順で email アイコンも追加します。


 
 
 

3. レイアウトの用意

context_menu.xml を開いて、以下のようにレイアウトを用意します。

 

id 属性

クリックされた項目を識別できるように id を設定しておきます。
 

icon 属性

アイコン画像を指定します。(* 低い API ではアイコン画像が表示されない場合があります。)
 

title 属性

表示名です。
 

orderInCategory 属性

表示順序を指定することができます。(このサンプルでは使用していません。)
 
 
 

4. activity_main.xml の用意

今回は MainActivity 画面を長押しした時にメニューを表示させたいので、activity_main.xml の親レイアウトに id を用意しておきます。

activity_main.xml を開いて、7行目を追加します。

 
 
 

5. オプションメニューを表示する

MainActivity.java を開いて19・22~39行目を追加します。

 
 

19行目

registerForContextMenu(findViewById(R.id.rootLayout));

先ほど activity_main.xml に用意した id を使って「どのビューを長押しした時にコンテキストメニューを表示するのか」を登録します。

これを書かないとメニューが表示されないのでご注意ください。
 
 

22~26行目

onCreateContextMenu メソッドは、メニューを表示する時に呼び出されます。
 
 

28~39行目

onContextItemSelected メソッドは、項目が選択されたときに呼ばれます。

このサンプルでは選択された項目のタイトルを Toast 表示していますが、押された項目ごとに処理が変わる場合は30~34行目のように書くことができます。

他にもメニューを閉じた時に呼ばれる onContextMenuClosed メソッドがあります。
 
 
 

6. 完成

以上で完成です。

 
 

完成版のコード

context_menu.xml

activity_main.xml

MainActivity.java

 
 
 

Android 開発のための Java 入門講座

Java入門講座についてはこちら

私はこれまでにオンライン講座と書籍に35万円以上使ってプログラミングを勉強してきました。

しかし、講座や書籍でプログラミングの基礎を学んでも

  • それを使って何ができるのか
  • いつ役立つのか
  • 次に何をすれば良いのか

と分からないことばかりでした。
 

特に Android アプリ開発(Java)には苦労しました。
 

Android 開発には Java を学ぶ必要があると知って Java の入門書を買いましたが、文字と数字を出力するばかりで Android 開発との関係性がわからず、途中で読むのを辞めてしまいました。
 

次に Android Studio を使ったアプリ開発の本を数冊か買いましたが、今度は Java の解説が少なくて、説明も専門用語ばかりであまり読む気がしなかったことを覚えています。
 

この経験から、これからプログラミングを始めようという方に

  • 「プログラミングって楽しい!」
  • 「もっと勉強してみたい!」
  • 「もっとアプリを開発してみたい!」

と思っていただける入門講座を作れないかとずっと考えていました。
 
 
約2年かかってようやく完成したのが「Android 開発のための Java 入門講座」です!
 
 

 

この講座では Android Studio で簡単なアプリを開発しながら Java の基礎・Android 開発を学ぶことができます。

  • Android 開発に興味があるけれど、何から始めれば良いか分からない方
  • Java に一度挫折してしまった方

に特にお勧めの講座になっていますので、ぜひお試しください
 

 

 
 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
guest

CAPTCHA


0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx