如何显示菜单项溢出android

时间:2015-02-28 18:58:15

标签: android

我想用Action在ActionBar上显示我的菜单项 我发现了一些样品,但这不是我想要的样品

菜单应该是下面的类似图片(溢出图标或文字) enter image description here

我的menu.xml是:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/action_refresh"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:icon="@drawable/icon"
    android:visible="true"
    android:title="Refresh"/>
 <item
    android:id="@+id/action_settings"
    android:title="Settings">
<item
    android:id="@+id/mapMenu"
    android:title="map menu" />
<item
    android:id="@+id/favMenu"
    android:title="favorite" />
<item
    android:id="@+id/listMenu"
    android:title="List Menu" />  
</item>

和我的android代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Toast.makeText(getApplicationContext(), item.getTitle() + " selected", Toast.LENGTH_SHORT).show();

    switch (item.getItemId()) {
    case R.id.mapMenu:
        // do something
        break;
    case R.id.favMenu:
        // do something
        break;
    case R.id.listMenu:
        // do something
        break;
    }
    return true;
}

2 个答案:

答案 0 :(得分:0)

在某些Android版本或某些设备上,我认为,溢出图标不会显示,您必须按手机上的菜单按钮。

根据您目前的情况,溢出图标将显示在某些设备上,而不会显示在其他设备上。

使用支持库

如果您真的想要一个溢出图标,可以使用适用于Android 5.0的appcompat支持库。

为此,请将其添加到build.gradle

下的dependencies文件中
compile 'com.android.support:appcompat-v7:21.0.3'

此外,您需要在活动中展开ActionBarActivity而不是Activity

styles.xml中,确保您的父主题具有前缀Theme.AppCompat

您可以详细了解here

答案 1 :(得分:0)

尝试 android:showAsAction =&#34; never&#34; 表示要在溢出菜单中显示的项目。我想这就是你想要的。