Как я могу назвать стиль новой библиотеки как родительский в style.xml? - PullRequest
0 голосов
/ 11 июня 2018

Я создаю новую библиотеку для Android и демонстрационный проект, который я использую для тестирования библиотеки.У библиотеки, которую я создал, есть стиль под названием Light , и в демоверсии я применяю этот стиль в Java с использованием setTheme(R.style.Light), но я хотел бы заменить его, вызывая тему непосредственно в style.xml.То, что я сейчас имею в demo / res / values ​​/ style.xml - это

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">

, и я хотел бы заменить его на что-то похожее на:

<style name="AppTheme" parent="myLibrary.Light">

Я пыталсяс parent="@style/Light" но это не работает.Кто-нибудь знает, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 18 июня 2018

Я нашел решение, Моя проблема заключалась в том, что в моей библиотеке у меня были разные стили в зависимости от версии Android.Для каждой версии Android моя главная тема была по ошибке передана разным родителям.Я просто поменял родителей в моей библиотеке, убедившись, что они ссылаются на одного и того же, и это решило мою проблему.Теперь в моем приложении я могу ссылаться на тему, созданную в моей библиотеке, без сбоев приложения.

0 голосов
/ 11 июня 2018

Чтобы наследовать стили из библиотеки или вашего собственного проекта, объявите имя родительского стиля без @android: style / part.Например, следующий пример наследует стили отображения текста из библиотеки поддержки:

<style name="GreenText" parent="TextAppearance.AppCompat"> <item name="android:textColor">#00FF00</item> </style> Для получения более подробной информации

...