Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我可以动态编辑样式吗?_Android - Fatal编程技术网

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应用于视图”功能,因为正常样式无法在运行时加载。