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

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

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

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

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

2 ответов


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

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

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

открыть сборки.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 будет выглядеть так:

<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 to android:showAsAction.

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

изменения:

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 | Rebuild Project для сортировки текущих ошибок сборки.


Шаг #1: измените тему от Theme.AppCompat

Шаг № 2: Удалить appcompat-v7 из списка dependencies в своем app модуль

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

Шаг #4: измените все ресурсы меню, заменив app: С android:

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

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