以编程方式设置/更改,存储和重用自定义渐变可绘制

时间:2015-01-23 09:06:13

标签: android

我想让我的应用程序的用户自定义其外观。用户可以设置背景,按钮和其他控件/视图的渐变值。这工作得很好,但我不知道如何保存并稍后检索设置,即自定义背景设置。 有没有办法在共享首选项中保存渐变drawables设置或将这些东西保存为xml drawable,然后让应用程序使用特殊的自定义可绘制背景?或者是否有更好的方法来实现这一目标?也许将设置保存在数据库中?

我想到了应用程序backround的两个可绘制的xml文件(default_background.xml和custom_background.xml),并且如果布尔pref设置为使用自定义颜色,则在程序上选择这些文件... 但似乎无法在运行时修改自定义文件。

我搜索了很多,但似乎没有找到合适的答案...编辑:(或无法找到/想象正确的搜索词)

也许这里有人有想法?

问候 马可

编辑:或许更好地理解我想要做的事情

通常我定义视图/活动的背景,让我们说一个linear_layout(main.xml),通过创建一个可绘制的xml(bg.xml)文件,然后将background属性设置为bg.xml

现在应用程序由用户启动。用户以他喜欢的应用程序的方式设置背景。我为这个任务做了一个graphicSettings活动。现在我正在寻找一种很好的方法来在所有(已定义的)激活中加载新的自定义背景。因此,以前具有背景属性bg.xml的每个布局现在都获得了一个新的drawable。

这里有两张照片...(我的评价现在很低了:()

编辑:01.27.15 我得到了保存sqlite db中的值并从db中检索设置的工作。现在我必须根据我的布尔pref useCustomGraficSettings的条件加载活动的每个oncreate中的值。 难道没有更优雅的方式来解决这个任务吗?

1 个答案:

答案 0 :(得分:0)