为了账号安全,请及时绑定邮箱和手机立即绑定

Android新功能高亮指引

标签:
Android

前言

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

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

上代码

满足各种界面的GuideView

简单上手的GuideView-master

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

上说明

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

只需要复制作者项目里面的GuideView类就可以了。主要作者在里面定义了两个色值,自己去color里面添加一下。另外,这个类调用了

1234
因为是新功能的高亮指引,所以必须一上来就出效果,而且是只出这第一次打开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);

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

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是我自己的写的,但是跟作者那个也如出一辙,这里就不放我的代码了。

原文链接:http://www.apkbus.com/blog-705730-62574.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消