看了几篇主题切换的Blog,给其算法稍作总结
1. 添加Flag,给有主题切换需求的View做标记,如通过自定义属性。如果所有的View都有该需求,此步骤可省略。
2. 通过添加Hook来获得有主题切换需要的View,并管理。可通过LayoutInflater.Factory实现Hook。
3. 当主题切换时,获取相应主题的资源并动态设置View的相应属性。
Note:
谨防内存泄漏
看了几篇主题切换的Blog,给其算法稍作总结
1. 添加Flag,给有主题切换需求的View做标记,如通过自定义属性。如果所有的View都有该需求,此步骤可省略。
2. 通过添加Hook来获得有主题切换需要的View,并管理。可通过LayoutInflater.Factory实现Hook。
3. 当主题切换时,获取相应主题的资源并动态设置View的相应属性。
Note:
谨防内存泄漏