欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android引导蒙版(浮层)新功能

程序员文章站 2022-03-31 09:30:33
在我们的项目中或多或少都会用到引导蒙层,每当一个项目开发一个新功能,总会想办法及时让用户得知有这样一个新功能,这时通常会采用引导页或者蒙版(浮层)的方式提心用户,这里有需要关注的新...

在我们的项目中或多或少都会用到引导蒙层,每当一个项目开发一个新功能,总会想办法及时让用户得知有这样一个新功能,这时通常会采用引导页或者蒙版(浮层)的方式提心用户,这里有需要关注的新内容。

先上图:

Android引导蒙版(浮层)新功能Android引导蒙版(浮层)新功能

引入:

build.gradle(Project)中添加 :

maven { url 'https://jitpack.io' }

位置在:

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        google()
        jcenter()
    }
}

build.gradle(Module)中添加:

implementation ('com.github.huburt-Hu:NewbieGuide:v1.2.0') { exclude group: 'com.android.support' }

具体使用:链式调用,就是这么简单

//需要解释的控件
Button button = findViewById(R.id.btn);
TextView textView = findViewById(R.id.tv);

//只显示一个的引导层
NewbieGuide.with(this)
        .setLabel("1")
        .addHighLight(button, HighLight.Type.RECTANGLE)
        .setLayoutRes(R.layout.view_guide)
        .show();


//多页模式,即一个引导层显示多页引导内容
NewbieGuide.with(this)
        .setLabel("page")//设置引导层标示区分不同引导层,必传!否则报错
        .setOnGuideChangedListener(new OnGuideChangedListener() {
            @Override
            public void onShowed(Controller controller) {
                //引导层显示
            }

            @Override
            public void onRemoved(Controller controller) {
                //引导层消失(多页切换不会触发)
            }
        })
        .setOnPageChangedListener(new OnPageChangedListener() {
            @Override
            public void onPageChanged(int page) {
                //引导页切换,page为当前页位置,从0开始
            }
        })
        .alwaysShow(true)//是否每次都显示引导层,默认false,只显示一次

         /*------------- 第一页引导页的属性 --------------*/
        .addHighLight(textView)//设置高亮的view
        .setLayoutRes(R.layout.view_guide)//设置引导页布局
        .asPage()//保存参数为第一页
       /*------------- 第一页引导页的属性 --------------*/

       /*------------- 第二页引导页的属性 --------------*/
        .addHighLight(button)//从新设置第二页的参数
        .setLayoutRes(R.layout.view_guide)
        .asPage()
       /*------------- 第二页引导页的属性 --------------*/
        .show();//显示引导层