我无法让Action Bar显示我的操作项。它们都出现在溢出菜单中。我已粘贴下面的所有相关代码。谁能看到我的问题?
来自活动:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.viewer_menu, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_download:
return true;
case R.id.menu_star:
return true;
case R.id.menu_report:
return true;
case android.R.id.home:
// app icon in action bar clicked; go home
finish();
return true;
}
return false;
}
From Manifest:
<activity android:name=".CustomActivity"
android:label="">
从values-v11文件夹(themes.xml)
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo">
</style>
来自菜单文件夹(viewer_menu.xml)
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_download"
android:title="Download" showAsAction="withText"
android:orderInCategory="2"/>
<item android:id="@+id/menu_star"
android:icon="@android:drawable/ic_menu_upload"
android:title="Star"
showAsAction="always"
android:orderInCategory="1"/>
<item android:id="@+id/menu_report"
android:title="Report Problem" showAsAction="always"
android:orderInCategory="0"/>
</menu>
答案 0 :(得分:5)
它是android:showAsAction
,而不仅仅是showAsAction
。
答案 1 :(得分:4)
如果您使用的是支持包(android.support.v7.app.ActionBarActivity
),则必须使用以下内容:
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_download"
android:title="Download"
app:showAsAction="withText"
android:orderInCategory="2"/>
<item android:id="@+id/menu_star"
android:icon="@android:drawable/ic_menu_upload"
android:title="Star"
app:showAsAction="always"
android:orderInCategory="1"/>
<item android:id="@+id/menu_report"
android:title="Report Problem"
app:showAsAction="always"
android:orderInCategory="0"/>
</menu>
答案 2 :(得分:1)
您正在运行的Android模拟器是什么版本?
另外,您是否尝试过http://actionbarsherlock.com/版本?