我想制作一个让用户选择主题的应用,并将其应用于整个应用。
我知道这可以通过在每个活动的onCreate中使用setTheme来实现。
但我需要以不同的方式工作。我不希望主题存储在theme.xml或styles.xml中。
我想要一个存储在网络上的主题列表,并能够动态下载新主题并将其应用到应用程序中。我希望能够创建新主题,而无需构建新版本或应用程序的更新版本。
图像很容易替换。只需从网址下载并在本地存储即可重复使用。但是应用程序的实际主题,按钮的颜色等应该在运行时从theme.xml文件更改,该文件不是apk的一部分,而是在线获取。
这可能吗?
答案 0 :(得分:1)
这取决于您希望能够做多少样式。您目前无法在使用资源之外以语法方式设置视图项样式。但您可以控制文本颜色和背景颜色等内容。如果这就是你需要改变的全部内容,我建议为你的应用程序编写一个Theme工厂类,用于获取所需的每个视图元素。例如,getButton()
函数将返回一个具有所需背景颜色和文本颜色的按钮。