热点新闻
Android-推荐一个任意遮罩式的引导页库(GuideView)
2023-08-26 20:11  浏览:677  搜索引擎搜索“手机展会网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在手机展会网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布



图片来源网络,入侵必删

在日常的Android的开发中,我们要为一个Activity或者任何一个View创建一个遮罩式的的导航提示,这里分享一个快速实现的库——GuideView

GuideView

快速的为一个Activity里的任何一个View控件创建一个遮罩式的导航页,并且可以再高亮区域绘制任何你想要的布局或者lottie动画等炫酷效果。开源库的大佬这个库实现原理:

首先它需要一个目标View或者它的id,我们通过findViewById来得到这个View,计算它在屏幕上的区域targetRect,通过这个区域,开始绘制一个覆盖整个Activity的遮罩,可以定义遮罩的颜色和透明度,然而目标View被绘制成透明从而实现高亮的效果。接下来是在相对于这个targetRect的区域绘制一些图片或者文字。我们把这样一张图片或者文字抽象成一个Component接口,设置文字或者图片,所有的图片文字都是相对于targetRect来定义的。可以设定额外的x,y偏移量,可以对遮罩系统设置可见状态的发生变化时的监听回调,可以对遮罩系统设置开始和结束时的动画效。

GuideView的引入

implementation 'com.binioter:guideview:1.0.0'

截止我发博客,当前开源库的版本号是1.0.0。最新开源库版本请查看开源库的wiki

GuideView的使用

编写用于在高亮区域周围展示的component

public class SimpleComponent implements Component { @Override public View getView(LayoutInflater inflater) { LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.layer_frends, null); ll.setonClickListener(new View.onClickListener() { @Override public void onClick(View view) { Toast.makeText(view.getContext(), "引导层被点击了", Toast.LENGTH_SHORT).show(); } }); return ll; } @Override public int getAnchor() { return Component.ANCHOR_BOTTOM; } @Override public int getFitPosition() { return Component.FIT_END; } @Override public int getXOffset() { return 0; } @Override public int getYOffset() { return 10; } }

展示引导蒙层,并监听蒙层展示、隐藏事件

public void showGuideView() { GuideBuilder builder = new GuideBuilder(); builder.setTargetView(header_imgbtn) .setAlpha(150) .setHighTargetCorner(20) .setHighTargetPadding(10); builder.setonVisibilityChangedListener(new GuideBuilder.onVisibilityChangedListener() { @Override public void onShown() { } @Override public void onDismiss() { showGuideView2(); } }); builder.addComponent(new SimpleComponent()); guide = builder.createGuide(); guide.show(SimpleGuideViewActivity.this);

发布人:21bc****    IP:125.64.05.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发