我正在开发一个包含3个活动的应用。每项活动都有相同的背景。我想让用户能够更改所有三个活动的背景。所以我使用AlertDialog为用户提供了多种选择。当用户单击“对话框”上的项目时,背景将会更改。
我尝试了两种方法来实现上述功能:
1)在AndroidManifest.XML中使用Android:theme。这确实有效。但糟糕的是,应用程序中的所有View都将扩展主题。我将无关视图的背景视为null。但我无法删除Dialog中的扩展主题。这使我的对话非常难看。
2)我在三个活动的布局xml中应用了'style'。但问题是我无法以编程方式修改样式中的背景属性。
有人有想法处理这个问题吗?谢谢!
答案 0 :(得分:1)
有两种选择,但我可以想到这两种选择:
创建自定义对话框并覆盖设置主题以取消更改新主题的方法。
在显示所选背景图像的应用程序首选项中保留首选项,然后在活动开始时设置每个活动的主要布局视图的背景。