忍者ブログ

ゲーム

ゲーム製作日誌

2024'11.23.Sat
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2012'12.06.Thu
サブMENU処理を他メソッド化

参照:http://d.hatena.ne.jp/murakaming/20110427/1303885394
実験対象バージョン:Android2.3.3

あくまで、私的内容です。
これがいいとは限らないと思います。
参照ページは、もう少し使い勝手を良くされているので、是非参考にして下さい。
また、変数は気にしたら負けですw




MenuManager.java
 

メニューの設定内容です。
メニューが押されたときにどんな処理をするのかを記入します。
今回は、終了ボタンが押されると画面をバックグランドにする処理が入っています。


import android.app.Activity;
import android.view.InflateException;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
//************************************************************************
// サブメニュー表示欄(アプリ終了・継続表記)
//************************************************************************

public class MenuManager
{
//----------------------------------
// Menu表示イベント
//----------------------------------

public boolean createOptionsMenu(Activity activity, Menu menu)
{
// 呼び出し側ActivityへMenu設定
MenuInflater inflater = activity.getMenuInflater();
try
{
//メニュー表示(menu.xml)表示
inflater.inflate(R.menu.menu, menu);
}
catch (InflateException e)
{
return false;
}

return true;
}
//-------------------------------
// Menu選択イベント
//-------------------------------
public boolean optionsItemSelected(Activity activity, MenuItem item)
{
switch (item.getItemId())
{
case R.id.it_shuryou:
// アクティビティをバックグラウンドに移動する
activity.moveTaskToBack(true);
return true;
case R.id.it_zokkou:
//何もしないで戻る
return true;
default:
return false;
}
}



res/menu/menu.xml
 

XMLの記述は、あんまり上手くないので微妙な部分もあるかも知れません。
変数は適当過ぎですw




<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">

<!-- 終了 -->
<item
android:id="@+id/it_shuryou"
android:title="@string/shuryou"
android:icon="@android:drawable/ic_menu_close_clear_cancel"
></item>

<!-- 戻る -->
<item
android:id="@+id/it_zokkou"
android:title="@string/zokkou"
android:icon="@android:drawable/ic_menu_revert"
></item>

</menu> 

メニューアイコンについては、以下を参照
http://andante.in/i/android%E3%82%A2%E3%83%97%E3%83%AAtips/%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E7%94%A8%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E4%B8%80%E8%A6%A7ic_menu_/


呼び出すjava内
 

呼びだす時は以下で呼んでいます。
画面遷移をしても、遷移先で同じ以下の記述をしておけば、上記の処理を毎回行ってくれます。




//***************************************************************
// メニュー画面(終了画面)
//***************************************************************
//----------------------
//メニュー画面呼び出し
//----------------------
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
return new MenuManager().createOptionsMenu(this, menu);
}
//----------------------
// Menu選択イベント
//----------------------
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// 共通処理
return new MenuManager().optionsItemSelected(this, item);
}


PR
Post your Comment
Name:
Title:
Mail:
URL:
Color:
Comment:
pass: emoji:Vodafone絵文字 i-mode絵文字 Ezweb絵文字
[11] [10] [9] [8] [7] [6] [5] [4
«  BackHOME : Next »
リンク
ブログ内検索
広告

ゲーム wrote all articles.
Powered by Ninja.blog * TemplateDesign by TMP  

忍者ブログ[PR]