Android 快速实现新手引导层

        这是一款可以通过简洁链式调用,一行代码实现引导层的显示,自动判断首次显示,当然也可以通过参数配置来满足不同的显示逻辑和需求。

        通过自定义layout.xml实现文本及image的添加,非常方便位置的调整,避免代码调整各种不好控制的情况:实验5,6次才最终确定文字等的位置。


效果

依赖

           compileOnly 'com.android.support:appcompat-v7:25.3.1'

导入

            项目的build.gradle添加

                    allprojects {

                        repositories {

                        ...

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

                       }

                    }

           module的build.gradle添加

                    dependencies {

                              compile 'com.github.huburt-Hu:NewbieGuide:v2.4.0'

                    }

确保你的项目中已经依赖了appcompat-v7

简单使用

NewbieGuide.with(activity)

        .setLabel("guide1")

        .addGuidePage(GuidePage.newInstance()

            .addHighLight(btnSimple)

            .setLayoutRes(R.layout.view_guide_simple))

        .show();

其中:

        with方法可以传入Activity或者Fragment,获取引导页的依附者。Fragment中使用建议传入fragment,内部会添加监听,当依附的Fragment销毁时,引导层自动消失。

        setLabel方法用于设置引导页的标签,区别不同的引导页,该方法必须调用设置,否则会抛出异常。内部使用该label控制引导页的显示次数。

        addGuidePage方法添加一页引导页,这里的引导层可以有多个引导页,但至少需要一页。

        GuidePage即为引导页对象,表示一页引导页,可以通过.newInstance()创建对象。并通过addHighLight添加一个或多个需要高亮的view,该方法有多个重载,可以设置高亮的形状,以及padding等(默认是矩形)。setLayoutRes方法用于引导页说明布局,就是上图的说明文字的布局。

        show方法直接显示引导层,如果不想马上显示可以使用build方法返回一个Controller对象,完成构建。需要显示得时候再次调用Controller对象的show方法进行显示。

你可能感兴趣的:(Android 快速实现新手引导层)