具有属性的运行时主题选择

时间:2019-02-12 16:20:28

标签: android android-theme android-styles

我有一个必须在运行时切换应用程序颜色/主题的要求,例如RedTheme和BlueTheme。我想基于一个通用主题说AppTheme  enter image description here

我可以阅读首选项并将RedTheme或BlueTheme应用于基本活动类中的活动,并且可以正常工作。

我在RedTheme或BlueTheme中有一些变体,例如Dialog。 我希望活动使用红色/蓝色主题,但呈现为对话框。我正在尝试使用attr来实现这一目标。

<resources>
    <attr name="dialogActivityStyle" format="reference" />
</resources>

<style name="RedTheme" parent="AppTheme">
    <item name="dialogActivityStyle">@style/RedTheme.Dialog</item>

...

<activity android:name=".DialogActivity"
            android:theme="?attr/dialogActivityStyle"/>

但这不起作用。它不应用对话框主题

是否可以像我尝试的那样使用attr应用主题?

0 个答案:

没有答案