AndroidFacadeAPI

メニュー

このエントリーをはてなブックマークに追加
最終更新日 2016-12-31

オプションメニュー

次に示すのは、オプションメニューを表示する例です。コンソールで実行します。

import android
droid = android.Android()
droid.addOptionsMenuItem("Hello", "menu", 1)
droid.addOptionsMenuItem("Exit", "menu", 2)
while True:
    event = droid.eventWaitFor("menu")
    if event.result["data"] == 1:
        droid.makeToast("Hello, SL4A")
    elif event.result["data"] == 2:
        break
droid.clearOptionsMenu()

オプションメニューを追加するためには addOptionsMenuItem() を呼び出します。 addOptionsMenuItem() の引数は順に、メニューに表示するラベル文字列、イベント名、 イベントに関連付けるデータ、アイコン名で、第3引数と第4引数は省略可能です。 なお、第4引数に指定できる値は以下のURLで確認できます。

http://developer.android.com/intl/ja/reference/android/R.drawable.html

追加したオプションメニューを実行すると、addOptionsMenuItem() の第2引数で指定したイベントが発生します。 今回の例では eventWaitFor() を呼び出して "menu" イベントが発生するまで待機し、 イベントが発生した場合に、そのイベントに関連付けられたデータが 1 の場合(つまり[Hello]メニューアイテムの場合)はトーストを表示し、 2 の場合(つまり[Exit]メニューアイテムの場合)はループを抜けてスクリプトを終了します。

addOptionsMenuItem() を呼び出して追加したオプションメニューは、最後に clearOptionsMenu() を呼び出して削除します。

コンテキストメニュー

次に示すのは、コンテキストメニューを表示する例です。コンソールで実行します。

import android
droid = android.Android()
droid.addContextMenuItem("Hello", "menu", 1)
droid.addContextMenuItem("Exit", "menu", 2)
while True:
    event = droid.eventWaitFor("menu")
    if event.result["data"] == 1:
        droid.makeToast("Hello, SL4A")
    elif event.result["data"] == 2:
        break
droid.clearContextMenu()

コンテキストメニューを追加するためには addContextMenuItem() を呼び出します。 addContextMenuItem() の引数は順に、メニューに表示するラベル文字列、イベント名、 イベントに関連付けるデータで、第3引数は省略可能です。

追加したコンテキストメニューを実行すると、addContextMenuItem() の第2引数で指定したイベントが発生します。 今回の例では eventWaitFor() を呼び出して "menu" イベントが発生するまで待機し、 イベントが発生した場合に、そのイベントに関連付けられたデータが 1 の場合(つまり[Hello]メニューアイテムの場合)はトーストを表示し、 2 の場合(つまり[Exit]メニューアイテムの場合)はループを抜けてスクリプトを終了します。

addContextMenuItem() を呼び出して追加したオプションメニューは、最後に clearContextMenu() を呼び出して削除します。