1、通常来说,一般情况下,我们的app的BottomTab会有下面几种实现方式。
- 自定义view,然后自己写逻辑去实现。
- 使用RadioGroup+RadioButton去实现底部的Tab,
自由度比极高,如果想实现搞复杂度的话可以重写 RadioButton。 - 使用google design包里面的 TabLayout去实现。
可上、可下、可以滑动
偷懒的话可以根据已有api来设置一些资源,也可以 setCustomView() - 使用google design包里面的BottomNavigationView去实现。
(1)使用menu设置资源
(2)有默认的动画效果
2.本篇介绍的是日常见到的京东,淘宝类似的根据后台下发实现动态替换底部导航资源图片的方法(基于TabLayout实现)
既然提到了动态替换肯定意味着要下载资源,所以先讲一下IntentService
- IntentService也是一个service,只不过google帮我们在里面封装并维护了一个HandlerThread,里面的操作都是异步的。
- 当任务执行完后,IntentService 会自动停止,不需要我们去手动结束。
- 如果启动 IntentService 多次,那么每一个耗时操作会以工作队列的方式在 IntentService 的 onHandleIntent