我想用Action在ActionBar上显示我的菜单项 我发现了一些样品,但这不是我想要的样品
菜单应该是下面的类似图片(溢出图标或文字)
我的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;
}
答案 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; 表示要在溢出菜单中显示的项目。我想这就是你想要的。