我之前只是迁移到原生actionBar,使用ABS它运行得很好。 现在,我不再需要为API 16 +
开发的兼容性了我更改了所有引用,现在,我的菜单只显示在文本中,带有物理按钮,它没有显示在操作栏中...
我不知道我错过了什么...
这是我的代码:
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_sync"
android:icon="@drawable/ic_action_update"
android:orderInCategory="80"
android:showAsAction="ifRoom"
android:title="Sync"/>
<item
android:id="@+id/more"
android:icon="@drawable/ic_action_core_overflow"
android:orderInCategory="90"
android:showAsAction="always"
android:title="See more options">
<menu>
<item
android:id="@+id/menu_send_coords"
android:icon="@drawable/ic_action_send_coords"
android:orderInCategory="80"
android:showAsAction="ifRoom"
android:title="Send Coords"
android:visible="true"/>
<item
android:id="@+id/menu_foto"
android:icon="@drawable/ic_action_device_access_camera"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:title="Foto"
android:visible="true"/>
</menu>
</item>
在我的活动中:
public class DashBoard extends BaseActivity { //BaseActivity extends ActionBarActivity
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
我尝试将菜单xml更改为另一个(谷歌示例),但它不起作用。
我搜索了任何对Sherlock *的引用并替换了所有这些
在我的清单中我有:
<application
...
android:theme="@style/Theme.AppCompat" >
在我的style.xml中,我有:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<!-- nothing API level dependent yet -->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
我遵循了以下每一步: http://www.grokkingandroid.com/migrating-actionbarsherlock-actionbarcompat/
What are the common issues when migrating from ActionBarSherlock to ActionBarCompat?
ActionBarCompat menu item is not showing
我不知道我还能做什么? 任何帮助将不胜感激!
答案 0 :(得分:1)
我认为您应该更改style.xml和Android主题,因为您不再使用Android appcompat libarary。
styles.xml:
<style name="AppBaseTheme" parent="@style/Theme.Holo.Light.DarkActionBar">
<!-- nothing API level dependent yet -->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
的AndroidManifest.xml:
<application
android:theme="@style/AppTheme"
...