【Android開発チュートリアル】サポート方法

4325 ワード

この章は『Beginning-Android-4-Application-Development』から翻訳されていますが、翻訳が適切でないところがあれば、ご指摘ください.
原書購入住所http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/
メニューは、メインインタフェースに表示される必要のない追加のオプションを表示するために使用できます.Androidフレームワークでは、主に2種類のメニューがあります.
  • オプションメニュー--現在のアクティビティに関する情報が表示されます.MENUキーを使用すると、このメニューをトリガーできます.
  • コンテキストメニュー-アクティブなビューに関する情報が表示されます.ビューを長く押すと、このメニューをトリガーできます.

  • 【Android 开发教程】辅助方法
    左側がオプションメニュー、右側がコンテキストメニューです.
    この2つのメニューを使う前に、2つの補助方法を紹介します.1つは、メニュー内のオプションリストを塗りつぶすために使用され、もう1つはメニューの選択したイベントを処理するために使用されます.
    1.プロジェクトを作成します:Menus.
    2. MenusActivity.JAvaのコード.
    public class MenusActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
    
        private void CreateMenu(Menu menu) {
            menu.setQwertyMode(true);
            MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");
            {
                mnu1.setAlphabeticShortcut('a');
                mnu1.setIcon(R.drawable.ic_launcher);
            }
            MenuItem mnu2 = menu.add(0, 1, 1, "Item 2");
            {
                mnu2.setAlphabeticShortcut('b');
                mnu2.setIcon(R.drawable.ic_launcher);
            }
            MenuItem mnu3 = menu.add(0, 2, 2, "Item 3");
            {
                mnu3.setAlphabeticShortcut('c');
                mnu3.setIcon(R.drawable.ic_launcher);
            }
            MenuItem mnu4 = menu.add(0, 3, 3, "Item 4");
            {
                mnu4.setAlphabeticShortcut('d');
            }
    
            menu.add(0, 4, 4, "Item 5");
            menu.add(0, 5, 5, "Item 6");
            menu.add(0, 6, 6, "Item 7");
        }
    
        private boolean MenuChoice(MenuItem item) {
            switch (item.getItemId()) {
            case 0:
                Toast.makeText(this, "You clicked on Item 1", Toast.LENGTH_LONG)
                        .show();
                return true;
            case 1:
                Toast.makeText(this, "You clicked on Item 2", Toast.LENGTH_LONG)
                        .show();
                return true;
            case 2:
                Toast.makeText(this, "You clicked on Item 3", Toast.LENGTH_LONG)
                        .show();
                return true;
            case 3:
                Toast.makeText(this, "You clicked on Item 4", Toast.LENGTH_LONG)
                        .show();
                return true;
            case 4:
                Toast.makeText(this, "You clicked on Item 5", Toast.LENGTH_LONG)
                        .show();
                return true;
            case 5:
                Toast.makeText(this, "You clicked on Item 6", Toast.LENGTH_LONG)
                        .show();
                return true;
            case 6:
                Toast.makeText(this, "You clicked on Item 7", Toast.LENGTH_LONG)
                        .show();
                return true;
            }
            return false;
        }
    
    }

    上記の例では、主にCreateMenu()とMenuChoice()の2つの方法が含まれています.
    CreateMenu()メソッドでは、Menuタイプのパラメータを受信し、このパラメータにメニュー項目を追加します.
    メニュー項目を追加するには、MenuItemクラスのインスタンスを作成し、Menuオブジェクトのadd()メソッドを使用します.
            MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");
            {
                mnu1.setAlphabeticShortcut('a');
                mnu1.setIcon(R.drawable.ic_launcher);
            }
    add()メソッドには4つのパラメータがあります.
  • groupId--メニュー項目がグループにある場合、これがグループの識別子です.groupIDが0の場合、このメニュー項目はいずれのグループにも存在しないことを示します.
  • itemID--メニュー項目の一意のID.
  • order--メニュー項目の表示順序.
  • title--メニュー項目の表示文字.

  • また、setAlphabeticShortcut()メソッドを使用してショートカットキーを設定することもできます.これにより、キーボードを使用してメニュー項目を選択できます.
    setIcon()メソッドでは、メニュー項目に画像を設定できます.
    最後に、MenuChoice()メソッドは、MenuItemタイプのパラメータを受信し、idをチェックして、どのメニュー項目が選択されているかを判断し、どのメニュー項目が選択されているかをユーザーに伝えるToast通知をポップアップする.