19
有很多文档和教程上创建或通过XML定制一个Android主题风格,但一直没能找到一种方法,在代码中创建它。关于如何在代码而不是xml中创建样式的任何想法?如何以编程方式创建Android主题样式?
这是示例XML,需要在代码编程方式创建这样的:
<resources>
<style name="AppTheme" parent="android:Theme.Material">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<item name="android:colorAccent">@color/accent</item>
</style>
</resources>
为什么你希望它是编程做的原因吗?如果你只是想在运行时动态改变风格,你可以检查此链接http://stackoverflow.com/questions/3241729/android-dynamically-change-style-at-runtime。如果你想简单检索代码风格属性 - 检查:http://stackoverflow.com/questions/13719103/how-to-retrieve-style-attributes-programatically-from-styles-xml – random
@random没有具体的理由,厌倦了xml所以只是玩弄,看看是否有可能在飞行中创建主题 – Mercury
@random我有一个原因。我需要动态地给颜色,目前颜色没有决定。所以,我在xml中编写像上面这样的主题,但我只想在第一个屏幕上动态显示颜色。因此,它将适用于所有屏幕。 –