Open ghost opened 5 years ago
可以一起使用
/**
* 初始化引导页面
*/
private void initNewbieGuide() {
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(false)//是否每次都显示引导层,默认false,只显示一次
.alwaysShow(true)//总是显示,调试时可以打开
.addGuidePage(//添加一页引导页
GuidePage.newInstance()//创建一个实例
.addHighLight(mLlCar, HighLight.Shape.ROUND_RECTANGLE, 10, -15,
new RelativeGuide(R.layout.view_relative_guide_home_1, Gravity.BOTTOM, 50) {
@Override
protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
// marginInfo.leftMargin += 100;
}
})
.setLayoutRes(R.layout.view_guide_home_1, R.id.tvNext)//设置引导页布局
.setEverywhereCancelable(false)
.setOnLayoutInflatedListener(new OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(View view, Controller controller) {
}
})
// .setEnterAnimation(enterAnimation)//进入动画
// .setExitAnimation(exitAnimation)//退出动画
)
.addGuidePage(//添加一页引导页
GuidePage.newInstance()//创建一个实例
.addHighLight(mLlDriver, HighLight.Shape.ROUND_RECTANGLE, 10, -15,
new RelativeGuide(R.layout.view_relative_guide_home_2, Gravity.BOTTOM, 50) {
@Override
protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
// marginInfo.leftMargin += 100;
}
})
.setLayoutRes(R.layout.view_guide_home_1, R.id.tvNext)//设置引导页布局
.setEverywhereCancelable(false)
.setOnLayoutInflatedListener(new OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(View view, Controller controller) {
}
})
// .setEnterAnimation(enterAnimation)//进入动画
// .setExitAnimation(exitAnimation)//退出动画
)
.addGuidePage(//添加一页引导页
GuidePage.newInstance()//创建一个实例
.addHighLight(mLlContract, HighLight.Shape.ROUND_RECTANGLE, 10, -15,
new RelativeGuide(R.layout.view_relative_guide_home_3, Gravity.BOTTOM, 50) {
@Override
protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
// marginInfo.leftMargin += 100;
}
})
.setLayoutRes(R.layout.view_guide_home_1)//设置引导页布局
.setEverywhereCancelable(false)
.setOnLayoutInflatedListener(new OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(View view, Controller controller) {
view.findViewById(R.id.tvNext).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
initRecyclerViewGuide();
controller.remove();
}
});
}
})
// .setEnterAnimation(enterAnimation)//进入动画
// .setExitAnimation(exitAnimation)//退出动画
)
.show();//显示引导层(至少需要一页引导页才能显示)
}
private void initRecyclerViewGuide() {
mRecyclerView.post(new Runnable() {
@Override
public void run() {
NewbieGuide.with(HomeFragment.this)
.setLabel("grid_view_guide")
.alwaysShow(true)
.addGuidePage(GuidePage.newInstance()
.addHighLight(mRecyclerView.getChildAt(1), HighLight.Shape.CIRCLE, -25,
new RelativeGuide(R.layout.view_relative_guide_home_4, Gravity.BOTTOM, 50) {
@Override
protected void offsetMargin(MarginInfo marginInfo, ViewGroup viewGroup, View view) {
// marginInfo.leftMargin += 100;
}
})
.setLayoutRes(R.layout.view_guide_home_4, R.id.tvNext)//设置引导页布局
.setEverywhereCancelable(false)
.setOnLayoutInflatedListener(new OnLayoutInflatedListener() {
@Override
public void onLayoutInflated(View view, Controller controller) {
}
})
// .setEnterAnimation(enterAnimation)//进入动画
// .setExitAnimation(exitAnimation)//退出动画
)
.show();
}
});
}
你好,多页引导页和RecyclerView可以一起使用吗?