Android选项菜单显示为列表

时间:2013-01-27 19:43:37

标签: android android-layout android-menu

我创建了一个菜单,该菜单在点击设备上的菜单按钮时激活,但它显示为列表

Menu

我的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 site上的选项菜单?

2 个答案:

答案 0 :(得分: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",但您有more options

  • "ifRoom"

  • "never"

  • "withText"

  • "always"

  • "collapseActionView"

答案 1 :(得分:1)

即使在新设备中,您也可以将主题设置为旧主题,菜单将显示在旧的6项目表格布局中:

<style name="AppBaseTheme" parent="android:Theme">