美文网首页
主题切换

主题切换

作者: 叶语JM | 来源:发表于2020-08-06 11:05 被阅读0次

1.什么是主题切换?

就是在一个app中实现不同的主题.在同一种主题下,所有字体颜色一样,背景图的样式一样.

2.怎么实现?

(1).多个主题包中的图片名一定要一样,因为同一个控件在不同主题下代码是一样的,只是图片不一样,那就就是设置图片的时候使用的是用同一个图片名,只是路径不一样.

(2).主题切换怎么保存每个主题包:

(2.1)数据持久化

(2.2)每个主题包要相互独立

(2.3)每个主题包应该用实体文件,因为实体文件夹才能是路径

(在工程里拉进一个文件夹时勾选以下三个选项就会变成实体文件夹)

实体文件夹与虚拟文件夹的区别:


3.实现:

(1)使用通知的广播模式向每个类发送主题切换的通知

(2)因为主题切换牵扯的控件非常多,而且每个都要注册通知,才能对主题切换的通知起作用,所以要父类,在父类中完成注册通知

4.那些类需要对主题切换起作用

(1)UITabBarController

(2)UINavigationController

(3)UIViewController

(4)UIImageView

(5)UILabel

(6)UIButton

(所以这些类都要写成父类,重写父类:让代码可扩展性更高,有利于在后期的更新和维护,耦合性更低)

5.每个主题下都有自己对应的颜色

6.在没有其他主题的情况下,需要一套默认的主题在Bunde里面

下面就以一个UIImageView类为例子吧

首先写一个UIImageView的父类,重写初始化方法,在方法里添加一个通知,当接收到通知时,图片名字改变了.

通知的发送是你按了主题按钮时就开始的(通知要记得先注册,再发送通知)

只要是调用到这个父类的,当主题按钮改变时都可以接收到通知,所以就会做出相应的改变.这样就可以实现主题切换的功能了.

相关文章

  • 切换主题

    日/夜间主题 使用Android Support Library 中的 UiMode来做“日/夜间主题” 以背景颜...

  • 主题切换

    主题切换在前几年很火的一个技术,俗称换肤!今天我们来实现下这个主题是怎么切换的。主体思路:1.要求的图片名是一样的...

  • 主题切换

    1.什么是主题切换? 就是在一个app中实现不同的主题.在同一种主题下,所有字体颜色一样,背景图的样式一样. 2....

  • 主题切换

    http://www.open-open.com/lib/view/open1460934455593.html ...

  • Flutter 学习 之 主题设置 ThemeData

    基于ThemeData 实现主题切换 1. 实现可以亮暗主题切换2. 实现可以颜色主题的切换3.当主题为白色的时候...

  • iOS 答题功能实现

    最近项目中答题模块进行了优化,可切换主题,切换字体大小,答题背题模式。 答题主界面,可切换答题,背题模式 切换主题...

  • Android切换主题

    values-v21/styles.xml 切换主题: 效果图: 源码地址:https://github.com/...

  • AndroidStudio 主题切换

    一,系统主题切换 系统提供了两种主题切换(这怎么能满足爱倒持的程序员呢

  • less 切换主题

    1. 思路 本文实现环境是react+less,但并不限于react;思路主要是在最外层div上添加切换主题的相关...

  • 项目切换主题

    一般而言,项目中用到的图片都会放在Assets.xcassets这个文件夹中,项目中使用的时候只需要使用image...

网友评论

      本文标题:主题切换

      本文链接:https://www.haomeiwen.com/subject/llptrttx.html