Как прекратить использование AppCompat в Android Studio?

Я новичок в разработке Android, и я стараюсь следовать руководству по разработке Android в Android Studio, пытаясь настроить панель действий .

Мой minSdkVersion равен 15 , указано в build:gradle (Module: app), поэтому я думаю, что мне не нужно будет использовать поддержку совместимости приложений, но моя тема, как говорится в styles.xml – это <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> и я не могу изменить его на любой опрос Holo, сбой моего приложения в любое время, когда я его запускаю .

Кроме того, используя этот, я не могу использовать android:showAsAction (он просто не работает), и вместо этого нужно использовать app:showAsAction и всю библиотеку поддержки Android.

Заранее спасибо.

CommonsWare обеспечил правильные шаги, но я все еще сражался, поскольку мне не хватало деталей, чтобы я точно знал, что делать (будучи новичком в разработке Android Studio и Android).

Я нашел сообщение в блоге, которое объясняет детали здесь, и это сработало для меня: https://mobiarch.wordpress.com/2015/04/17/removing-support-library-in-android-studio

Вот что он говорит (я добавил дополнительную помощь):

Откройте build.gradle из своего проекта. Найдите раздел зависимостей.

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

Удалите строку для библиотеки совместимости. После этого раздел должен выглядеть так.

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) } 

Сохрани и закрой.

По умолчанию приложение использует тему, доступную из библиотеки поддержки. Это невозможно получить из основного API. Поэтому нам нужно это исправить. Открыть res/values/styles.xml . Тег стиля будет выглядеть примерно так:

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> 

Измените родителя на тему, доступную из основного SDK. Например:

 <style name="AppTheme" parent="android:style/Theme.Holo.Light"> <!-- Customize your theme here. --> </style> 

Переименуйте свойства в xml-файлах активности, например app:showAsAction в android:showAsAction .

Извлеките классы Activity из Activity вместо ActionBarActivity и AppCompatActivity . Вам нужно будет нажать Alt + Enter в Activity только вы внесете изменения, чтобы добавить import android.app.Activity в верхней части файла. См. Пример ниже:

Изменить:

 import android.support.v7.app.ActionBarActivity; public class DisplayMessageActivity extends ActionBarActivity { . . . } 

чтобы:

 import android.app.Activity; public class DisplayMessageActivity extends Activity { . . . } 

И то же самое для любых других действий, которые расширяют ActionBarActivity и AppCompatActivity

Наконец, выполните Build | Clean Project Build | Clean Project и Build | Rebuild Project Build | Rebuild Project чтобы отсортировать текущие ошибки сборки.

Шаг №1: Измените тему с Theme.AppCompat

Шаг №2: Удалите appcompat-v7 из списка dependencies в файле build.gradle вашего модуля app .

Шаг № 3: Измените все действия, чтобы не наследовать от AppCompatActivity или ActionBarActivity , но вместо этого наследуйте что-то еще, например Activity

Шаг №4: Измените все ресурсы меню, заменив app: с помощью android:

Шаг № 5: выполните чистую перестройку (Build> Clean Project) и исправьте любые затяжные ошибки компиляции, вызванные вышеуказанными четырьмя шагами

Вот пример проекта, который использует собственную панель действий.

Intereting Posts
Определение длинного нажатия в XML-макете, например, android: onClick делает Как сделать на анимации щелчка кнопки Как в обратную кнопку приложения Android Android? Как динамически обновлять или изменять изображения изображения в Android? Вызывающий номер из dialpad возвращает предупреждение: «Для вызова требуется разрешение, которое может быть отклонено пользователем» Реализация SharedPreferences для Android для сохранения в базе данных? Я думаю, что я придумал худший способ сравнить две даты; Возможно ли это сделать лучше? Разнообразие ошибок HTTP при общении с сервером из приложения Android Padding custom view canvas Android AlarmManager в Broadcastreceiver Стиль SnackBar в приложении темы Отправка html почты, если приложение позволяет Папка Gen пуста для Android-проекта Последствия использования paddingLeft на android 4.2+ с языком RTL Является ли Groovy потенциальным языком разработки для Android Опция USB Debugging выделена серым цветом