我可以动态编辑样式吗?

时间:2013-07-15 10:00:07

标签: android

我目前正在开发一款应该由最终用户完全自定义的应用。想象一下,该应用程序包含许多TextViewsButtons

的活动

因此客户端可以像这样创建一个XML文件:

<style >
    <h1>25dp</h1>
    <h2>30dp<h2>
    <actionbar>#cecece</actionbar>
</style>

正如您可以想象的那样,例如,有几个TextView始终是“标题”,因此它们应始终使用此h1 value

我知道我可以解析这个XML文件并为每个 textview ,手动应用这个样式,但这不是实现这个的好方法,因为如果我有3000个textViews,我应该手动编辑它们所有

我想要的是以编程方式“编辑”实际的样式。

任何提示?

1 个答案:

答案 0 :(得分:1)

您在创建的APK中无法访问资源文件,因为它们已编译到其中。因此,您对“可自定义”样式的想法仅适用于以下场景:

  1. 您的应用是图书馆项目
  2. 您的客户端使用该库项目并创建一个扩展/覆盖您自己的样式并将其编译为新APK的样式
  3. 您并没有清楚地告诉我们“最终用户”是您的app / apk用户还是可以进行上述修改的客户。

    另一种方法可能是创建自己的TextViews,Buttons等扩展,它们可以加载您的样式集。您需要为此创建自己的样式语言,并且需要确保自定义视图理解并应用它们。

    很多工作,如果你问我......一般来说,我会建议制作不同的主题,以便顾客可以选择最适合他们的......