MainActivityUIUtil
Introduction: MainActivity:底部 tab+viewpager+状态栏变色/字体变色兼容,各 page 懒加载
Tags:
MainActivity-底部tab-懒加载-状态栏变色-底部 tab+viewpager+状态栏变色/字体变色兼容,
viewpager 的各页面建立了 BaseMainPage,
实现了数据的懒加载,以及各 page 的生命周期控制.
statusBarUtil:可单独拷贝出来使用
沉浸式和非沉浸式状态栏,变色以及背景为白色时状态栏字体变色,多 tab 切换时状态栏变色的综合解决方案
tab 切换时几个 tab 在 visiable 和 invisiable 之间切换,不会重复遍历 viewtree
效果图:
使用
MainActivity 中:
oncreate 方法中调用:
MainUIUtil.getInstance(this);//保存一个引用到 mainactivity 中
mainUIUtil.addInfos(baseMainPages,statusbarConfigBeans,tabItemBeans);
自定义的配置放在 baseMainPages,statusbarConfigBeans,tabItemBeans 三个 list 中,具体请看 demo.
onResume()和 onPause()方法中分别调用:
MainUIUtil.onResume();
MainUIUtil.onPause();
具体的 tab 页面
应继承 BaseMainPage 类,并实现生命周期方法:
public abstract void onTabShow();
public abstract void onTabHide();
public abstract void onResume();
public abstract void onpause();
gradle
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Step 2. Add the dependency
dependencies {
compile 'com.github.hss01248:MainActivityUIUtil:1.0.1'
}