Панель действий не отображается

Я попытался реализовать панель действий в своем приложении.

menu.xml

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/itemAdd" android:showAsAction="ifRoom|withText" android:title="ADD"> </item> <item android:id="@+id/itemRefresh" android:showAsAction="ifRoom|withText" android:title="REFRESH"> </item> <item android:id="@+id/itemHelp" android:title="HELP"> </item> </menu> 

И создано меню

 @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.menu, menu); return true; } 

Введите описание изображения здесь

Но он не показывает панель действий, даже если minSdkVersion равно 11. В чем причина?

Удалите свою тему для активности вашего действия в файле androidManifest. Теперь это сработает …

 <application android:allowBackup="true" android:icon="@drawable/tasktodo" android:label="@string/app_name" > 

Не добавляйте тему в файл манифеста приложения. Если вы добавили его, удалите его и попробуйте запустить его …

Вы должны установить стиль своей Activity в Theme.Holo или один из вариантов для ActionBar. Если вы хотите сохранить обратную совместимость, вызовите setTheme в onCreate вашей деятельности:

 setTheme(android.R.style.Theme_Holo); 

Например, приложение с манифестом

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.Actionbartest" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="11" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest> ? <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.Actionbartest" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="11" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest> 

Menu.xml как это

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/itemAdd" android:showAsAction="ifRoom|withText" android:title="ADD"> </item> <item android:id="@+id/itemRefresh" android:showAsAction="ifRoom|withText" android:title="REFRESH"> </item> <item android:id="@+id/itemHelp" android:title="HELP"> </item> </menu> 

И активность вроде этого

 package com.example.Actionbartest; import android.app.Activity; import android.os.Bundle; import android.view.Menu; public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.menu, menu); return true; } } 

Похоже на это.

Введите описание изображения здесь

Вы уверены, что ваш телефон или эмулятор работает под управлением Android 3.0 или выше? Если нет, вы получите скриншот.

Чтобы включить панель действий на старых устройствах, вы должны использовать библиотеку AppCompat / support ( https://developer.android.com/tools/support-library/features.html )

  android:allowBackup="true" android:icon="@drawable/ic2" android:label="@string/app_name" android:theme="@android:style/Theme.Holo.Light.DarkActionBar" 

это работает. Поместите это в свой

Я импортирую import android.support.v7.app.AppCompatActivity;

Затем отредактируйте public class MainActivity extends AppCompatActivity

Добавить в зависимости

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:25.0.0' }