Skip to content
Hu XiBing edited this page Jun 11, 2018 · 20 revisions

Welcome to the NewbieGuide wiki!

更新日志

v2.2.2

fix #40

v2.2.1

  1. fix 4.4版本硬件加速问题;
  2. Controller新增showPreviewPage()方法显示前一页,showPage(int position)方法显示相应位置的page;
  3. 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);
}

v2.1.0

新增显示次数控制; 新增anchor实现局部显示引导层;

v2.0.1

修复alwayShow设置无效问题

v2.0.0

规范包名以及分包,优化api调用方式

新增引导页切换动画支持

去除引导页参数fullScreen(),事实上该参数有歧义,全屏设置是自定义layout中是否去除statusBar的高度,引导层都是全屏显示的。现在会根据页面自动去除statusBar的高度,不需要额外设置。

v1.2.1 ~ 1.2.3

fix #13 nubia view.getLocationOnScreen获取异常(没有包含statusBar高度)

fix 使用StatusBarUtil高亮错位,兼容StatusBarUtil

去除library的Application无用标签

v1.2.0

修改实现细节以支持多张引导页的显示,现在可以在一个引导层中显示多张引导页,不用再通过监听引导层的消失显示下一张引导层,可以只通过一行链式调用实现多页引导页的显示和切换。

v1.1.1

优化listenerFragment的销毁时机,原本为依附的fragment销毁才销毁。现在是只要引导层消失,listenerFragment就会销毁。

新增参数设置:fullScreen(),用于设置是否全屏显示

v1.1.0 pre-release

新增fragment支持,监听fragment的onDestroyView销毁引导层

v1.x.x版本使用

基本使用:

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();//显示引导层
Clone this wiki locally