简体   繁体   中英

How can I call the style of a new Library as parent in style.xml?

I am building a new library for Android and a demo project that I am using to test the library. The library that I made has a style called Light and in the demo I am applying this style in Java using setTheme(R.style.Light) but I would like to replace it calling the theme directly in style.xml. What I have right now in the demo/res/values/style.xml is

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

and I would like to replace it with something similar to:

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

I have tried with parent="@style/Light" but it's not working. Does anyone know how I can do it?

To inherit styles from a library or your own project, declare the parent style name without the @android:style/ part. For example, the following example inherits text appearance styles from the support library:

<style name="GreenText" parent="TextAppearance.AppCompat"> <item name="android:textColor">#00FF00</item> </style> For more details

I found the solution, My problem was that in my library I had different styles depending on the version of Android. For each version of Android my main theme was referred to different parents by mistake. I just changed the parents in my library making sure that they are referring to the same one and it fixed my problem. Now in my app I can refer to the theme created in my library without crashing the application.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM