MainActivityUIUtil

Introduction: MainActivity:底部 tab+viewpager+状态栏变色/字体变色兼容,各 page 懒加载
More: Author   ReportBugs   
Tags:
MainActivity-底部tab-懒加载-状态栏变色-

底部 tab+viewpager+状态栏变色/字体变色兼容,

viewpager 的各页面建立了 BaseMainPage,

实现了数据的懒加载,以及各 page 的生命周期控制.

statusBarUtil:可单独拷贝出来使用

沉浸式和非沉浸式状态栏,变色以及背景为白色时状态栏字体变色,多 tab 切换时状态栏变色的综合解决方案

tab 切换时几个 tab 在 visiable 和 invisiable 之间切换,不会重复遍历 viewtree

效果图:

mainactivity

使用

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'
    }

感谢

PagerBottomTabStrip

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools