0

デバイスのメニュー ボタンをクリックするとアクティブになるメニューを作成しましたが、リストとして表示されます。

メニュー

私の res/menu/menu.xml コードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuRefresh"
     android:icon="@drawable/ic_menu_refresh"
     android:title="Refresh"/>
<item android:id="@+id/menuAbout"
     android:icon="@drawable/ic_menu_info_details"
     android:title="About"/>
</menu>

私の主な活動では、次のことを行っています。

//Initiate Menu XMl file
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.menu, menu);
        return true;
    }

    /**
     * Even handling for individual menu items selected
     * Identity single menu item by its id
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        switch(item.getItemId()){
        case R.id.menuRefresh:
            Toast.makeText(MainActivity.this, "Refresh Selected", Toast.LENGTH_SHORT).show();
            return true;

        case R.id.menuAbout:
            Toast.makeText(MainActivity.this, "About Selected", Toast.LENGTH_SHORT).show();
            return true;

        default:
            return super.onOptionsItemSelected(item);
        }
    }

リストからアイテムを選択すると、期待どおりに通知が届きます。

メニューをAndroid devサイトのオプションメニューのようにするにはどうすればよいですか?

4

2 に答える 2

2

これが、新しいデバイスのリストでのオプションメニューの外観です。オプションをトップバー(アクションバーと呼ばれる)の一部にしたい場合はandroid:showAsAction、xmlに追加します。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuRefresh"
     android:icon="@drawable/ic_menu_refresh"
     android:title="Refresh"
      android:showAsAction = "always"/>
<item android:id="@+id/menuAbout"
     android:icon="@drawable/ic_menu_info_details"
     android:title="About"
     android:showAsAction = "always"/>
</menu>

デモの目的で、属性をに選択しましたが"always"さらに多くのオプションがあります。

  • "ifRoom"

  • "never"

  • "withText"

  • "always"

  • "collapseActionView"

于 2013-01-27T19:46:47.987 に答える
1

新しいデバイスでも、テーマを古いものに設定すると、メニューは古い 6 項目のテーブル レイアウトで表示されます。

<style name="AppBaseTheme" parent="android:Theme">
于 2013-04-27T01:50:35.183 に答える