ActionBar操作项未显示

Kil*_*ner 24 android android-layout android-actionbar

我有一个非常简单的代码,但即使经过长时间的谷歌搜索我也无法解决的问题.我希望在ActionBar中有一些Action Item,但每当我运行App时,我看到的只是一个带有App徽标和标题的ActionBar,但没有Action Item.

如果你可以帮助我,那将是很棒的,可能我只是错过了最明显的事情;)

这是我的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_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

这是ActionBar的相关.xml文件(名为main_activity_actions.xml):

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"
      android:showAsAction="always"  />
<item android:id="@+id/action_compose"
      android:icon="@drawable/ic_action_compose"
      android:title="@string/action_compose" 
      android:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

Man*_*rom 69

这是因为如果您使用支持AppCompat ActionBar库和ActionBarActivity,您应该以不同于在ActioBarSherlock或默认ActionBar中创建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_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          app:showAsAction="always"  />
      <item android:id="@+id/action_compose"
          android:icon="@drawable/ic_action_compose"
          android:title="@string/action_compose" 
          app:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

并报告是否有效.

注意:检查xmlns:app应该使用的额外前缀!

  • 所以要澄清一下,"app"使用3次:在菜单中,每个项目一次.不得不申请差异来抓住:-) (5认同)

小智 6

可以确保您没有使用使您的Action Items不可见的Style.

例如,如果您使用"android:Theme.Holo.Light.DarkActionBar",则会出现黑色操作栏,因此您将无法看到黑色物品.

切换到"android:Theme.Holo.Light",它们将显示出来.

查看文件(例如)res/values-v14/styles.xml