根据我的 AppTheme 样式选择更改自定义样式
Have Custom Style Change Based On My AppTheme Style Selection
我有一个应用程序,我想为其提供浅色和深色主题。
例如:
<style name="AppTheme.Light" parent="@android:style/Theme.Holo.Light">
...
</style>
<style name="AppTheme.Dark" parent="@android:style/Theme.Holo.Dark">
...
</style>
我还有一个自定义样式,指定要应用于任何使用它的背景:
<style name="MyCustomViewBackground">
<item name="android:background">@drawable/half_alpha_white_rounded_background</item>
</style>
如何安排我的 MyCustomViewBackground 样式为我的 AppTheme.Light 样式指定一个背景 (half_alpha_white_rounded_background),并为我的 AppTheme.Dark 样式指定一个不同的背景 (half_alpha_dark_rounded_background)?
这应该有效(未测试):
attrs.xml
<resources>
<attr name="customViewBackground" format="reference" />
</resources>
styles.xml
<style name="MyCustomViewBackground">
...
<item name="android:background">?attr/customViewBackground</item>
...
</style>
themes.xml
<style name="AppTheme.Light" parent="@android:style/Theme.Holo.Light">
...
<item name="customViewBackground">@drawable/half_alpha_white_rounded_background</item>
...
</style>
<style name="AppTheme.Dark" parent="@android:style/Theme.Holo.Dark">
...
<item name="customViewBackground">@drawable/half_alpha_dark_rounded_background</item>
...
</style>
我有一个应用程序,我想为其提供浅色和深色主题。
例如:
<style name="AppTheme.Light" parent="@android:style/Theme.Holo.Light">
...
</style>
<style name="AppTheme.Dark" parent="@android:style/Theme.Holo.Dark">
...
</style>
我还有一个自定义样式,指定要应用于任何使用它的背景:
<style name="MyCustomViewBackground">
<item name="android:background">@drawable/half_alpha_white_rounded_background</item>
</style>
如何安排我的 MyCustomViewBackground 样式为我的 AppTheme.Light 样式指定一个背景 (half_alpha_white_rounded_background),并为我的 AppTheme.Dark 样式指定一个不同的背景 (half_alpha_dark_rounded_background)?
这应该有效(未测试):
attrs.xml
<resources>
<attr name="customViewBackground" format="reference" />
</resources>
styles.xml
<style name="MyCustomViewBackground">
...
<item name="android:background">?attr/customViewBackground</item>
...
</style>
themes.xml
<style name="AppTheme.Light" parent="@android:style/Theme.Holo.Light">
...
<item name="customViewBackground">@drawable/half_alpha_white_rounded_background</item>
...
</style>
<style name="AppTheme.Dark" parent="@android:style/Theme.Holo.Dark">
...
<item name="customViewBackground">@drawable/half_alpha_dark_rounded_background</item>
...
</style>