Я пытаюсь установить ActionBar в своем приложении для Android для целей 8-18, используя библиотеки поддержки. Согласно официальному заявлению Android, использование ActionBar основано на Theme.AppCompat библиотеки поддержки v7. Я следовал официальному руководству http://developer.android.com/tools/support-library/setup.html (раздел «Добавление библиотек с ресурсами» с помощью eclipse), и панель действий работала хорошо. Но поскольку мне нужно избегать добавления библиотек с ресурсами, я хочу экспортировать файл .jar библиотеки поддержки v7 и добавить его в папку lib моего приложения, android:theme="@android:style/Theme.AppCompat.Light" вызывает ошибку: не найден ресурс, соответствующий заданному имени (в «теме» со значением «@android:style/Theme.AppCompat.Light»). Кроме того, если я просто добавлю android-support-v7.jar, мне не разрешается использовать Theme.AppCompat. Итак, кто-нибудь может понять, как экспортировать .jar ресурсов библиотеки поддержки v7, которые можно добавить способом «добавления библиотеки без ресурсов», чтобы разрешить Theme.AppCompat? Заранее спасибо.
Как я мог использовать Theme.AppCompat при добавлении поддержки v7 без ресурсов
Ответы (1)
Итак, кто-нибудь может понять, как экспортировать .jar ресурсов библиотеки поддержки v7, которые можно добавить способом «добавления библиотеки без ресурсов», чтобы разрешить Theme.AppCompat?
Это невозможно. AppCompat и ActionBarSherlock — два ведущих бэкпорта панели действий — очень активно используют ресурсы. Это не просто Theme.AppCompat
(или эквивалент ABS, Theme.Sherlock
), но и цвета, и размеры, и рисунки, и макеты, и строки, и многое другое. Вы можете сказать это, взглянув на исходный код каждого проекта.
Вы можете попытаться написать свою собственную библиотеку резервного копирования панели действий, которая каким-то образом избегает ресурсов.
Или, если вы используете Android Studio и новую систему сборки на основе Gradle, просто запросите файл AppCompat AAR, и о ресурсах позаботятся за вас.