Intereting Posts

Библиотека Android ActionBarCompat

У меня возникли проблемы с использованием библиотеки поддержки ActionBarCompat, которая была выпущена вчера. Я обновил репозиторий поддержки и включил путь к репозиторию appcompat-v7 в build.gradle, поскольку Крис Банес указал в DevBytes – https://www.youtube.com/watch?v=6TGgYqfJnyc .

dependencies { compile ('com.android.support:support-v4:18.0.+') compile ('com.android.support:appcompat-v7:18.0.+')} 

Сборка идет хорошо, и я могу использовать классы, такие как ActionBarActivity из этой библиотеки, но я не могу использовать стили и любые ресурсы, поэтому я не могу использовать следующие темы: @ style / Theme.AppCompat и т. Д. Я думал, что я найду исходные файлы. ./sdk/extras/android/…/"supportrepo ", поэтому я хотел бы ссылаться на него как ActionBarSherlock по градиенту, но это не похоже на правильный ответ.

Что я делаю не так? Спасибо.

Solutions Collecting From Web of "Библиотека Android ActionBarCompat"

Я использую Android Studio, и у меня есть одна и та же проблема разрешения res в моих values/styles.xml .

В нем говорится, что он не может решить @style/Theme.AppCompat.Light , но во время компиляции (gradle) и времени выполнения все отлично работает (Android 2.3.3 и 4.3) .

Я хотел бы избавиться от предупреждения о том, что res не может быть разрешен.

Как я могу сказать Android Studio, что это res можно найти в репозитории appcompat-v7?
(Этот вопрос был связан с ошибкой в ​​Android Studio, которая уже исправлена.)


Ниже вы видите, что я сделал. Я надеюсь, это поможет. Предложения оценены.
Источник для библиотеки appcompat можно найти в github .

Интеграция градлей:

 dependencies { ... compile group:'com.android.support', name:'appcompat-v7', version:'18.0.+' ... } 

Стиль-файлы:

Значения / styles.xml:

 <resources> <!-- Base application theme, dependent on API level. This theme is replaced by AppBaseTheme from res/values-vXX/styles.xml on newer devices. --> <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> <!-- Theme customizations available in newer API levels can go in res/values-vXX/styles.xml, while customizations related to backward-compatibility can go here. --> </style> <!-- Application theme. --> <style name="AppTheme" parent="@style/Theme.AppCompat.Light"> <item name="actionBarStyle">@style/ActionBar.Solid.Custom</item> </style> <style name="ActionBar.Solid.Custom" parent="@style/Widget.AppCompat.Light.ActionBar.Solid"> <item name="background">@drawable/ab_solid_custom</item> <item name="displayOptions">homeAsUp|showHome|showCustom</item> </style> </resources> 

Значения-V14 / styles.xml:

 <resources> <!-- Base application theme for API 14+. This theme completely replaces AppBaseTheme from BOTH res/values/styles.xml and res/values-v11/styles.xml on API 14+ devices. --> <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> <!-- API 14 theme customizations can go here. --> </style> <!-- Application theme. --> <style name="AppTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:actionBarStyle">@style/ActionBar.Solid.Custom</item> </style> <style name="ActionBar.Solid.Custom" parent="@android:style/Widget.Holo.Light.ActionBar.Solid"> <item name="android:background">@drawable/ab_solid_custom</item> <item name="android:displayOptions">homeAsUp|showHome|showCustom</item> </style> </resources> 

MainActivity ( требуется только расширение) :

 public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Views.inject(this); setupNavigationDrawer(); } } 

AndroidManifest.xml (настройка android: тема обязательна) :

  <activity android:name="com.example.app.MainActivity" android:theme="@style/AppTheme" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

Существует известная ошибка ( http://code.google.com/p/android/issues/detail?id=56312 ), где Android Studio IDE будет отмечать стиль как красный (эта ошибка для ActionBarSherlock, но проблема Делать с аарами, содержащими стили, и источниками, которые не видны для Android Studio).

В частности, комментарий # 8 ( http://code.google.com/p/android/issues/detail?id=56312#c4 ) показывает наблюдаемое поведение и комментарий № 10 ( http://code.google.com/ P / android / issues / detail? Id = 56312 # c10 ) отмечает, что редактор макета исправлен, но редактор кода нет.

Таким образом, программа должна создавать и работать нормально, просто покажите стиль в красном цвете при просмотре в редакторе стиля XML.

Я еще не пробовал Gradle, но я не уверен, но, похоже, вам также нужно скопировать ресурсы в ваш проект. Он содержит Theme.AppCompat.

Я получил успех в Eclipse, выполнив следующие шаги.

Импортируйте android-support-v7-appcompat как проект libray из нижележащего пути (вы могли бы сохранить sdk на другом пути)

D: \ ADT-расслоение-Windows-x86 \ ADT-пачка окно-x86 \ SDK \ Extras \ Android \ поддержка \ v7

Я просто добавил эту библиотеку в свой проект, и все получилось из коробки.

Я также добавил те же 2 строки в раздел зависимостей в файле build.gradle. Компиляция начала работать, но я получил ошибки времени выполнения. Затем я обнаружил опцию Tools> Android> Sync Project с файлами Gradle . Казалось, это трюк. (Я на Android Studio 0.2.9)

В моем случае, Lastest Studio 0.8.1

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

Мое решение:

Файл -> Структура проекта -> Зависимости -> + (плюс) -> выберите appcompact, support, ….

И исправлена ​​ошибка.

Благодарю.

Cf https://plus.google.com/113735310430199015092/posts/ef5LyGyMddy

Дэвид Ван де Вен

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

Роман Нурик

+ Дэвид Ван де Вен, мы над этим работаем.