确定按钮可以设置成在屏幕中间或者在提示文字旁边都可以

如果布局文件中加入了:

android:fitsSystemWindows="true"
那要重写activity的
onWindowFocusChanged(boolean hasFocus) 方法 ;在此方法中设置要显示的高亮view
代码如下:
 @Override    public void onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        //动态添加布局 也可以xml文件中添加布局        lp=new AutoRelativeLayout.LayoutParams(-1,-1);        guideView=new UserGuideView(this);        guideView.setLayoutParams(lp);        rootView.addView(guideView);        guideView.setHighLightView(tv_make);        guideView.setText("点击“编辑”按钮可以修改视频标题以及添加广告");        guideView.setHighLightStyle(UserGuideView.VIEWSTYLE_CIRCLE);        guideView.setTouchOutsideDismiss(false);        guideView.setOnNextClickListener(new UserGuideView.OnNextClickListener() {            @Override            public void onNextClick() {                //改变样式                guideView.setHighLightStyle(UserGuideView.VIEWSTYLE_RECT);//                guideView.setMaskblurstyle(UserGuideView.MASKBLURSTYLE_NORMAL);            }        });        guideView.setOnDismissListener(new UserGuideView.OnDismissListener() {            @Override            public void onDismiss() {            }        });    }
这样就可以把指定的view高亮的显示了:使用
targetView.getGlobalVisibleRect(tagetRect);
来确定需要高亮显示的位置
 下面是一系列设置的方法,可以只提示一个 点击下一步提示多个 
   
 /** 设置要显示的样式*/    public void setHighLightStyle(int highLightStyle) {        this.highLightStyle = highLightStyle;    }    public void setMaskblurstyle(int maskblurstyle) {        this.maskblurstyle = maskblurstyle;    }    /** 设置要显示的文字*/    public void setText(String text) {        this.text = text;    }    /** 设置要高亮的时候显示的文字数组*/    public void setTipTextArray(String[] tipTexts){        this.tipTexts = tipTexts;    }    /** 设置要点击时候的title数组*/    public void setTextTitleArray(String[] list){        this.list = list;    }    /** 清空数组 主要是用于如果单提示和多提示的转换 就需要调用此方法 否则会报错*/     public void  resert(){         this.list=null;         this.tipTexts = null;     }    /**     * 设置需要高亮的View     *     * @param targetView     */    public void setHighLightView(View targetView) {        this.targetView = targetView;        invalidate();    }       /**删除自己*/    public void removeSelf(){        ((ViewGroup)getParent()).removeView(this);    }    /**     * 设置需要高亮的Views     *     * @param targetView     */    public void setHighLightView(View[] targetView) {        this.targetView = targetView[0];        this.views = targetView;        invalidate();    }    /** 设置是否点击哪里都可以消失*/    public void setTouchOutsideDismiss(boolean cancel) {        this.touchOutsideCancel = cancel;    }    /**     * 设置额外的边框宽度     *     * @param borderWidth     */    public void setBorderWidth(int borderWidth) {        this.borderWitdh = borderWidth;    }    /**     * 设置提示的图片     *     * @param bitmap     */    public void setTipView(Bitmap bitmap) {        this.tipBitmap = bitmap;    }    /**     * 设置提示的图片     *     * @param bitmap     */    public void setTipView(Bitmap[] bitmap) {        this.tipBitmaps = bitmap;    }    /**     * 设置蒙版颜色     *     * @param maskColor     */    public void setMaskColor(int maskColor) {        this.maskColor = maskColor;    }    /**     * 设置状态栏高度 默认是减去了一个状态栏高度 如果主题设置android:windowTranslucentStatus=true     * 需要设置状态栏高度为0     *     * @param statusBarHeight     */    public void setStatusBarHeight(int statusBarHeight) {        this.statusBarHeight = statusBarHeight;    }
如果需要在提示了一次后再次提示 可以调用 setVisibility 来继续提示 然后在设置你要提示的内容以及需要高亮显示的View,
由于上一次的是隐藏了 所以上一次设置的还在必须再调

   
resert() 记住一定要调用此方法 不然会报错!!!!
    如果设置了多步提示的话 可以调用接口来监听 这样就可以在设置下一步需要修改的样式了:
   
 guideView.setOnNextClickListener(new UserGuideView.OnNextClickListener() {            @Override            public void onNextClick() {                //改变样式                guideView.setHighLightStyle(UserGuideView.VIEWSTYLE_RECT);//                guideView.setMaskblurstyle(UserGuideView.MASKBLURSTYLE_NORMAL);            }        });
如果需要在指引完成后做一些事情的话 可以调用:
   
   guideView.setOnDismissListener(new UserGuideView.OnDismissListener() {            @Override            public void onDismiss() {            }        });
在布局文件中话 有以下属性:
   
<?xml version="1.0" encoding="utf-8"?>                                                                                                                                                                    

这里是demo地址 可以点击下载
点击打开链接



   
   




更多相关文章

  1. android SDK中打开AVD时提示PANIC: Could not open:XX
  2. Android样式基础--属性动画((Property Animation)篇
  3. Android的消息提示框,ImageView,进度条
  4. 【Android Studio快捷键】之代码提示
  5. Android SDK Manager在添加Platforms和其他Packages时提示无法在
  6. Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩
  7. android 自定义键盘 KeyboardView的key 文字颜色发虚模糊

随机推荐

  1. Windows Cocos2d-x(二) Visual Studio 编写
  2. android webview 设置背景透明色
  3. Android设置透明、半透明等效果
  4. Android(安卓)View三种熟悉——visible,i
  5. Android(安卓)Scripting Environment动手
  6. Android(安卓)sp & sp
  7. android 执行monkey指令的方法
  8. android手电筒
  9. Dagger2+Retrofit+RxJava
  10. Android打开系统设置界面