2016-03-02 2 views
1

Когда я впервые заметил, что достиг максимального уровня методов, я начал думать, что я должен удалить из зависимостей. Я предположил, что мне не нужно использовать библиотеки поддержки, потому что моя минимальная цель - 17.Остановить использование AppCompat

Я изменил активность из AppCompatActivity в Activity, удалил поддержку зависимости v7, но проблема возникла в стилях, потому что этот стиль @android:style/Theme.Holo.Light.DarkActionBar" дает старую панель действий ,

Так что мне интересно, как получить новую панель действий, и удачная практика - удалить библиотеку поддержки?

ответ

2

Существует 2 решения вашей проблемы.

1) Используйте Activity вместо AppCompatActivity, но тогда у вас будет только «новая» панель действий в API уровня 21+ (потому что она поддерживается только в 21+).

Для этого вам нужно будет установить разные таблицы стилей для API 17+ и API 21+, поэтому API 17-20 будет использовать старый стиль, а 21+ будет использовать новый.

2) Используйте AppCompatActivity и сохраните «новую» панель действий на всех уровнях API, а затем включите Proguard. Proguard удалит все неиспользуемые классы, методы и т. Д. Это приведет к значительному ограничению. Требуется немного для правильной настройки, но на сегодняшний день это лучший способ исправить вашу проблему.
Я не настроил его недавно, но google должен помочь вам в этом.

+0

Знаете ли вы хорошие учебные пособия для настройки Proguard? Я пробовал много вещей, но у меня всегда возникают различные ошибки, поэтому, может быть, вы знаете что-то полезное. –

0

Я думаю, вам будет лучше использовать AppCompatActivity, чтобы вы придерживались принципов проектирования материалов. Если вы достигнете предела DEX, вы можете использовать minify в proguard и/или multidex, чтобы разделить DEX на два или более отдельных файла DEX под пределом 64K каждый. Добавление multidex очень просто сейчас, вы можете видеть here

+0

Каковы недостатки мультидекса? –

+0

Я не думаю, что есть. С библиотеками поддержки и другими сторонними библиотеками довольно легко достичь предела, поэтому использование multidex довольно распространено. – Francesc

Смежные вопросы