android动作栏没有出现

时间:2014-08-11 11:55:10

标签: android android-actionbar

我不确定为什么操作栏没有出现在我的主菜单上,我已经清理了我的项目但它仍然无法正常工作。

主要xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_settings"/>
<item android:id="@+id/mainmenu" 
    android:title="Main Menu"
    android:orderInCategory="1"
    android:showAsAction="always"/>
<item android:id="@+id/play_actionbar" 
    android:title="Play"
    android:orderInCategory="2"
    android:showAsAction="always"/>
<item android:id="@+id/admin_actionbar" 
    android:title="Admin"
    android:orderInCategory="3"
    android:showAsAction="always"/>
 <item android:id="@+id/video_actiobar" 
    android:title="Video"
    android:orderInCategory="4"
    android:showAsAction="always"/>


java代码

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


5 个答案:

答案 0 :(得分:2)

试试这个

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    // TODO Auto-generated method stub
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.main, (Menu) menu);

    return super.onCreateOptionsMenu(menu);
}

答案 1 :(得分:0)

以这种方式更改代码并检查它是否有效

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);

    return super.onCreateOptionsMenu(menu);
}

查看链接了解更多信息(http://www.androidhive.info/2013/11/android-working-with-action-bar/

答案 2 :(得分:0)

在你的Manifest中,为了你的活动,请确保你声明它有Actionbar:

<activity
        android:name="com.test.activities.MyActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Holo.Light.DarkActionBar" >

答案 3 :(得分:0)

您可以使用ActionBarsherlock或AppCompat支持3.0以下Android版本的操作栏。

使用ABS(actionbarsherlock)

您可以按SherlockActivity扩展您的活动 并将您的方法更改为

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    // TODO Auto-generated method stub
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.main, (Menu) menu);

    return super.onCreateOptionsMenu(menu);
}

由@Amer Hadi回答

点击此处查看详情ActionBar

答案 4 :(得分:0)

尝试100%使用2.2到4.4。只需添加支持库。

 activity_main_actions.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" >



 <!-- Refresh -->

     <item
    android:id="@+id/action_refresh"
    android:icon="@drawable/ic_action_refresh"
    android:title="@string/action_refresh"
    app:showAsAction="always"/>

<!-- Help -->

<item
    android:id="@+id/action_help"
    android:icon="@drawable/ic_action_help"
    android:title="@string/action_help"
    app:showAsAction="never"/>

<!-- Check updates -->

<item
    android:id="@+id/action_check_updates"
    android:icon="@drawable/ic_action_refresh"
    android:title="@string/action_check_updates"
    app:showAsAction="never"/>

活动代码:

  @Override
  public boolean onCreateOptionsMenu(Menu menu)
  {

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.activity_main_actions, menu);
        return super.onCreateOptionsMenu(menu);
  }