Как я мог использовать Theme.AppCompat при добавлении поддержки v7 без ресурсов

Я пытаюсь установить 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? Заранее спасибо.


person Yipeng    schedule 05.12.2013    source источник
comment
Но так как мне нужно избегать добавления библиотек с ресурсами -- ммм... почему?   -  person CommonsWare    schedule 06.12.2013
comment
@CommonsWare просто потому, что это командная работа на Github, а другие считают нелогичным, что они должны вытащить проект, а затем им все еще нужно настроить зависимости библиотеки ...   -  person Yipeng    schedule 06.12.2013


Ответы (1)


Итак, кто-нибудь может понять, как экспортировать .jar ресурсов библиотеки поддержки v7, которые можно добавить способом «добавления библиотеки без ресурсов», чтобы разрешить Theme.AppCompat?

Это невозможно. AppCompat и ActionBarSherlock — два ведущих бэкпорта панели действий — очень активно используют ресурсы. Это не просто Theme.AppCompat (или эквивалент ABS, Theme.Sherlock), но и цвета, и размеры, и рисунки, и макеты, и строки, и многое другое. Вы можете сказать это, взглянув на исходный код каждого проекта.

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

Или, если вы используете Android Studio и новую систему сборки на основе Gradle, просто запросите файл AppCompat AAR, и о ресурсах позаботятся за вас.

person CommonsWare    schedule 06.12.2013