###前言
在android开发过程中,我们有时设计的一些操作可能很隐蔽,或者比较新潮,为了方便用户使用,做一个新手指引是有必要的。这个新手指引可不是 程序启动时的引导页。而是进入app后给用户的使用教程。那么今天就来讲讲这个功能的使用吧。
今天涉及的内容:
1. 使用前基本配置及依赖
2. 具体使用
3. 使用方法的详细解释
4. 新手指引xml布局代码
5. 效果图和项目结构图
####一.使用前基本配置及依赖
project对应的的build.gradle添加:
```
allprojects {
repositories {
//以上省略
//......
maven { url 'https://jitpack.io' }
}
}
```
在app_module对应的build.gradle中添加以下引用:
```
//确保你的项目中已经依赖了appcompat:1.0.0-beta01
implementation 'androidx.appcompat:appcompat:1.0.0-beta01',
//新手指引库
implementation 'com.github.huburt-Hu:NewbieGuide:v2.4.3'
```
####二. 具体使用
若要使用新手指引,你可以在自己的代码中做入下处理:
```
NewbieGuide.with((Activity) mContext)
.setLabel("Guide1")//引导页的标签,区别不同的引导页
//.setShowCounts(3)//控制次数
.alwaysShow(true)//总是显示,调试时可以打开
.addGuidePage(GuidePage guidePage)//添加引导页
//多页引导页监听
.setOnPageChangedListener(new OnPageChangedListener() {
@Override
public void onPageChanged(int page) {
//引导页切换,page为当前页位置,从0开始
}
})
//引导层显示隐藏监听
.setOnGuideChangedListener(new OnGuideChangedListener() {
@Override
public void onShowed(Controller controller) {
//引导层显示
}
@Override
public void onRemoved(Controller controller) {
//引导层消失
}
})
//.addGuidePage()//添加另一个引导页
.show();//显示
```
####三.使用方法的详细解释
以上就是新手指引库的基本使用,然后这里对以上方法做简单讲解:
- with 这里可以传入一个activity或者一个Fragment对象
- setLabel 用于设置引导页标签,每个NewbieGuide的调用都对应唯一一个label,必须设置,一般一个界面的话只需要设置一个NewbieGuide,然后我都是用当前类名做唯一标签。
- setShowCounts 每次打开界面弹出引导页的次数
- alwaysShow 是否总是显示,默认值为false,调试引导页的时候可以设置成true
- addGuidePage 添加一页引导页
- setOnPageChangedListener 多个引导页监听
- setOnGuideChangedListener 引导层显示或隐藏的监听
- show 显示引导页
若一个新手指引中需要多页展示,你可以类似这样:
```
NewbieGuide.with((Activity) mContext)
.addGuidePage(guidePage1)
.addGuidePage(guidePage2)
.addGuidePage(guidePage3)
.show();
```
####四.新手指引xml布局代码
由于新手指引需要涉及到在guide中添加一个xml布局,这里贴出guide_main.xml对应的代码,其他具体的大家可以下载demo看
```
```
####五.效果图和项目结构图
效果图
![2.gif](/contentImages/image/jianshu/6127340-39d8368927d3b114.gif)
结构图
![image.png](/contentImages/image/jianshu/6127340-aea691b7c5fb2722.png)
ok,谢谢大家了。