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 开发网站上的选项菜单?

4

2 回答 2

2

这就是选项菜单在新设备上的样子,一个列表。如果您希望您的选项成为顶部栏(称为操作栏)的一部分,请添加android:showAsAction到您的 xml.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>

出于演示目的,我将属性选择为 be "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 回答