Android应用程序的日/夜主题

我有一个应用程序,我需要实现日/夜主题.不幸的是,通过使用样式没有简单的方法来制作主题,我需要能够更新:布局背景,按钮选择器,文本颜色,文本大小,图像,图标,动画.

从我看到我有2个选项:

>为night / day提供不同的xml布局文件,例如home_day.xml / home_night.xml.应用程序中有大约30个屏幕,因此最终将有60 xml布局.在onCreate上的activity / fragment,基于当前小时,我可以setContentView.这会添加更多xml文件,但可以避免在活动中添加更多代码
>只有一个日/夜的布局和活动的onCreate findviewById为我想要主题的每个项目并根据当前日/夜更新他的属性.这可以为许多视图生成大量额外代码,查找视图和应用属性.

我的目标是2.但我愿意接受你的任何建议.那么,你会选择什么?为什么?

解决方法

实际上,您似乎也可以使用主题来描述自定义drawable.看一下: How to switch between night-mode and day-mode themes on Android?.您可以使用样式块创建主题,然后在xml布局中使用?attr指定主题中的内容.然后你应该能够在下一个活动上调用setTheme(R.styles.DAY_THEME)并且应该更新所有内容.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...