Android 我可以动态编辑样式吗?
我目前正在开发一个应用程序,它应该可以完全由终端用户定制。假设应用程序有许多活动,其中包含一些Android 我可以动态编辑样式吗?,android,Android,我目前正在开发一个应用程序,它应该可以完全由终端用户定制。假设应用程序有许多活动,其中包含一些文本视图,按钮,等等 因此,客户端可以创建如下XML文件: <style > <h1>25dp</h1> <h2>30dp<h2> <actionbar>#cecece</actionbar> </style> 25dp 30dp #塞切克 例如,您可以想象,有几个文本视图始终是
文本视图
,按钮
,等等
因此,客户端可以创建如下XML文件:
<style >
<h1>25dp</h1>
<h2>30dp<h2>
<actionbar>#cecece</actionbar>
</style>
25dp
30dp
#塞切克
例如,您可以想象,有几个文本视图始终是“标题”,因此它们应该始终采用此h1值
我知道我可以解析这个XML文件,对于每个textview,手动应用这种样式,但这不是实现这一点的好方法,因为如果我有3000个textview,我应该手动编辑它们
我想要的是以编程方式“编辑”实际样式。
有什么提示吗?您无法访问已创建APK中的资源文件,因为它们已编译到其中。因此,“可定制”样式的想法仅适用于以下场景:
你的应用程序是一个库项目
您的客户机使用该库项目并创建一个扩展/覆盖您自己的样式的样式,并将其编译为新的APK
您没有明确告诉我们“最终用户”是您的应用程序/apk的用户还是可以进行上述修改的客户
另一种方法是创建自己的文本视图、按钮等扩展,以加载样式集。您需要为此创建自己的样式语言,并且需要确保自定义视图理解并应用它们
很多工作,如果你问我。。。一般来说,我建议制作不同的主题,以便客户可以选择最适合他们的主题…用户只能提供一个XML文件。您仍然需要自己实现“将XML应用于视图”功能,因为正常样式无法在运行时加载。