-
Notifications
You must be signed in to change notification settings - Fork 521
Home
Hu XiBing edited this page Jun 11, 2018
·
20 revisions
Welcome to the NewbieGuide wiki!
fix #40
- fix 4.4版本硬件加速问题;
- Controller新增showPreviewPage()方法显示前一页,showPage(int position)方法显示相应位置的page;
- OnLayoutInflatedListener接口onLayoutInflated方法调整,新增参数Controller,用于page控制
public interface OnLayoutInflatedListener {
/**
* @param view {@link com.app.hubert.guide.model.GuidePage#setLayoutRes(int, int...)}方法传入的layoutRes填充后的view
* @param controller {@link Controller}
*/
void onLayoutInflated(View view, Controller controller);
}
新增显示次数控制; 新增anchor实现局部显示引导层;
修复alwayShow设置无效问题
规范包名以及分包,优化api调用方式
新增引导页切换动画支持
去除引导页参数fullScreen()
,事实上该参数有歧义,全屏设置是自定义layout中是否去除statusBar的高度,引导层都是全屏显示的。现在会根据页面自动去除statusBar的高度,不需要额外设置。
fix #13 nubia view.getLocationOnScreen获取异常(没有包含statusBar高度)
fix 使用StatusBarUtil高亮错位,兼容StatusBarUtil
去除library的Application无用标签
修改实现细节以支持多张引导页的显示,现在可以在一个引导层中显示多张引导页,不用再通过监听引导层的消失显示下一张引导层,可以只通过一行链式调用实现多页引导页的显示和切换。
优化listenerFragment的销毁时机,原本为依附的fragment销毁才销毁。现在是只要引导层消失,listenerFragment就会销毁。
新增参数设置:fullScreen()
,用于设置是否全屏显示
新增fragment支持,监听fragment的onDestroyView销毁引导层
NewbieGuide.with(this)//传入activity
.setLabel("guide1")//设置引导层标示,用于区分不同引导层,必传!否则报错
.addHighLight(textView, HighLight.Type.RECTANGLE)//添加需要高亮的view
.setLayoutRes(R.layout.view_guide)//自定义的提示layout,不要添加背景色,引导层背景色通过setBackgroundColor()设置
.show();//显示引导层
//新增多页模式,即一个引导层显示多页引导内容
NewbieGuide.with(this)
.setLabel("page")//设置引导层标示区分不同引导层,必传!否则报错
.setOnGuideChangedListener(new OnGuideChangedListener() {
@Override
public void onShowed(Controller controller) {
Log.e(TAG, "NewbieGuide onShowed: ");
//引导层显示
}
@Override
public void onRemoved(Controller controller) {
Log.e(TAG, "NewbieGuide onRemoved: ");
//引导层消失(多页切换不会触发)
}
})
.setOnPageChangedListener(new OnPageChangedListener() {
@Override
public void onPageChanged(int page) {
Log.e(TAG, "NewbieGuide onPageChanged: " + page);
//引导页切换,page为当前页位置,从0开始
}
})
.alwaysShow(true)//是否每次都显示引导层,默认false,只显示一次
/*-------------以上元素为引导层属性--------------*/
.addHighLight(textView)//设置高亮的view
.setLayoutRes(R.layout.view_guide)//设置引导页布局
.asPage()//保存参数为第一页
/*------------- 第一页引导页的属性 --------------*/
.addHighLight(button)//从新设置第二页的参数
.setLayoutRes(R.layout.view_guide)
.asPage()
/*------------- 第二页引导页的属性 --------------*/
.addHighLight(textView)
.setLayoutRes(R.layout.view_guide_custom, R.id.iv)//引导页布局,点击跳转下一页或者消失引导层的控件id
.setEveryWhereCancelable(false)//是否点击任意地方跳转下一页或者消失引导层,默认true
.fullScreen(true)//是否全屏,即是否包含状态栏,默认false,设置为true需要Activity设置为全屏或者沉浸式状态栏
.setBackgroundColor(getResources().getColor(R.color.testColor))//设置引导页背景色,建议使用有透明度的颜色,默认背景色为:0xb2000000
// .asPage()//只有一页或者最后一页可以省略
/*------------- 第三页引导页的属性 --------------*/
.show();//显示引导层