美文网首页Android知识Android开发Android技术知识
《Android APP可能有的东西》之功能篇:新功能高亮指引【

《Android APP可能有的东西》之功能篇:新功能高亮指引【

作者: 温瑜 | 来源:发表于2016-10-27 22:48 被阅读1210次

    前言

    一个app用户刚上手的时候可能面对界面上很多信息无所适从,所以这时候可能一个简单的新功能指引是非常必要的,至少用户戳戳戳几下就能知道点了那个地方能干些什么。

    今天的内容就是实现这个功能,但是这次不是自己写了,感谢github,感谢伟大的开源精神。推荐的是两个项目,一个满足基本需求;一个满足各种需求。各位小伙伴在看了文章和代码之后自行取舍适合自己的。

    上代码

    满足各种界面的GuideView

    简单上手的GuideView-master

    我在自己某个项目中使用的是第二个.

    上说明

    主要说的是第二个,因为第一个没用过...

    只需要复制作者项目里面的GuideView类就可以了。主要作者在里面定义了两个色值,自己去color里面添加一下。另外,这个类调用了getViewTreeObserver().removeOnGlobalLayoutListener()方法,它需要的最低SDK版本是16,注意更改一下。

    因为是新功能的高亮指引,所以必须一上来就出效果,而且是只出这第一次打开app的效果,所以需要在oncreat或者onresume方法中调用,然后自己使用sp判断一下是不是第一次打开就行啦。

    设置方法也很清楚明了,这里是使用文字+图片,图片可以自行替换,比如把R.mipmap.ic_launcher替换成箭头:

            // 使用文字+图标
            final TextView tv2 = new TextView(this);
            tv2.setText("欢迎使用");
            Drawable d = getResources().getDrawable(R.mipmap.ic_launcher);
            d.setBounds(0, 0, 50, 50);
            tv2.setCompoundDrawables(d , null, null, null);
            tv2.setTextColor(getResources().getColor(R.color.white));
            tv2.setTextSize(30);
            //tv2.setGravity(Gravity.CENTER);
    

    上面这个是准备要显示的东西,最后要将其显示到目标区域:

    GuideView guideView = GuideView.Builder.newInstance(this)
                    .setTargetView(btnTest2)//要突出的目标
                    .setCustomGuideView(tv2)//对目标进行的解释,就是上面准备那个
                    .setDirction(GuideView.Direction.LEFT_BOTTOM)//设置位置
                    .setShape(GuideView.MyShape.RECTANGULAR)   // 设置矩形显示区域,
                    .setRadius(80)          // 设置圆形或矩形透明区域半径,默认是targetView的显示矩形的半径,如果是矩形,这里是设置矩形圆角大小
                    .setBgColor(getResources().getColor(R.color.shadow))//背景颜色
                    .setOnclickListener(new GuideView.OnClickCallback() {
                        @Override
                        public void onClickedGuideView() {
                            guideView.hide();//点一下隐藏自己或者开启下一个需要指引的地方
                        }
                    })
                    .build();
    

    在一个方法里面设置那么三四个高亮指引,然后在oncreat或者onresume方法中调用就ok啦。

    上效果图

    我是图

    最后

    说说这个GuideView,继承自RelativeLayout,onDraw方法中枚举了CIRCULAR圆形, ELLIPSE椭圆, RECTANGULAR圆角矩形三种图形,可以在这里去增加自己想要的,比如五角星什么的。静态类Builder中可以自定义各种零件的属性来装饰guiderView,具体的那些看代码啦~

    上代码

    满足各种界面的GuideView

    简单上手的GuideView-master

    文中给出的是第二个的代码,虽然demo是我自己的写的,但是跟作者那个也如出一辙,这里就不放我的代码了。

    【功能篇】扩展阅读

    《Android APP应该有的东西》之功能篇:版本检测更新

    《Android APP应该有的东西》之功能篇:热修复

    《Android APP可以有的东西》之功能篇:右滑返回


    本文作者:paradoxie
    个人主页:谢盒盒的小黑屋,不止说技术
    简书地址:简书主页,专注技术类
    github地址:paradoxie
    转载请注明出处,蟹蟹!
    -------我的梦想真的是做一条咸鱼!

    相关文章

      网友评论

        本文标题:《Android APP可能有的东西》之功能篇:新功能高亮指引【

        本文链接:https://www.haomeiwen.com/subject/pdmsuttx.html