背景小红点在各个App内随处可见,并且随着需求的不断迭代,需要展示小红点的需求越来越多。这个时候,如果没有对红点的展示逻辑做一个统一的抽象和管理的话,就会感觉很复杂,后续也不太好维护。本文会基于MediatorLiveData,实现对红点的统一管理。需求分析这里举个例子,常见的红点场景,类似qq首页左上角红点的显示。MediatorLiveData官方提供了MediatorLiveData。并且被观察的LiveData发生变化,作为观察的LiveData都能收到通知。验证刷新逻辑一般情况下,只需要改动叶子节点的红点对应的LiveData,父节点的LiveData就会自动改变。基于上述代码,调用testChangeDataC1方法后,监听LiveData并输出日志。上面的例子比较简单,更复杂的场景,应该也是可以基于上面的方案进行改造一下的。
暂无评论