我正在使用appcompat v7在我的Android项目上呈现操作栏。这在版本4.x上运行良好,但选项菜单(仅选项菜单)在2.x.x版本上没有显示。有什么问题?
我的list_team.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_profile"
android:title="@string/menu_label_profile"
android:orderInCategory="100"
android:showAsAction="never"
app:showAsAction="never"/>
<item
android:id="@+id/action_about"
android:title="@string/menu_label_about"
android:orderInCategory="100"
android:showAsAction="always"
app:showAsAction="always"/>
我的活动
public class MyActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_team);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.list_team, menu);
return true;
}
}
感谢任何帮助。
答案 0 :(得分:1)
尝试删除这两个属性android:showAsAction=""
并仅保留这些app:showAsAction=""
。
如果您的应用使用支持库来兼容低至Android 2.1的版本,则android:namespace中不提供showAsAction属性。
您还可以将* action_about *的orderInCategory
更改为1。
答案 1 :(得分:1)
根据此代码,您在覆盖中缺少super.onCreateOptionsMenu()
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.list_team, menu);
return super.onCreateOptionsMenu(menu);
}
您还应该只使用之前建议的app:showAsAction
命名空间。
答案 2 :(得分:1)
使用Android 2.X的设备通常有一个硬件菜单按钮。在这种情况下,溢出菜单图标不显示(至少在默认情况下,不确定appcompat中是否存在此切换,尽管ActionBarSherlock中有此切换)。
然而,按下菜单按钮时应该可以访问选项。可能是这样吗?