先上效果图:
这个效果一开始我是想直接让UI给个切图,后来发现这样不行,适配很差,达不到效果。所以就自己动手写代码,其实思路也很简单:在这个布局的父布局上面再手动添加一个view(通常LinearLayout比较方便),然后把这个linearlayout的背景设置成#88000000,之后就是给这个linearlayout动态增加子view,初步效果就能达到。
下面直接上代码:
public void showGuideView() {
View view = getWindow().getDecorView().findViewById(R.id.activity_main);
if (view == null) return;
ViewParent viewParent = view.getParent();
if (viewParent instanceof FrameLayout) {
final FrameLayout frameParent = (FrameLayout) viewParent;//整个父布局
final LinearLayout linearLayout = new LinearLayout(this);//新建一个LinearLayout
linearLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.setBackgroundResource(#88000000);//背景设置灰色透明
linearLayout.setGravity(Gravity.CENTER_HORIZONTAL);
linearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
frameParent.removeView(linearLayout);
}
});
Rect rect = new Rect();
Point point = new Point();
nearby.getGlobalVisibleRect(rect, point);
//获得nearby这个控件的宽高以及XY坐标 nearby这个控件对应就是需要高亮显示的地方
ImageView topGuideview = new ImageView(this);
topGuideview.setLayoutParams(new ViewGroup.LayoutParams(rect.width(), rect.height()));
topGuideview.setBackgroundResource(R.drawable.iv_topguide);
Rect rt = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(rt);
topGuideview.setY(point.y - rt.top);//rt.top是手机状态栏的高度
ImageView bottomGuideview = new ImageView(this);
bottomGuideview.setLayoutParams(new ViewGroup.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
bottomGuideview.setBackgroundResource(R.drawable.iv_bottomguide);
bottomGuideview.setY(point.y + topGuideview.getHeight());
linearLayout.addView(topGuideview);
linearLayout.addView(bottomGuideview);
frameParent.addView(linearLayout);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android
# 蒙层新手引导
# 新手引导蒙版
# 新手图层引导
# Android ProgressDialog用法之实现app上传文件进度条转圈效果
# Android Volley扩展实现支持进度条的文件上传功能
# Android实现文件上传和下载倒计时功能的圆形进度条
# Android上传文件到服务端并显示进度条
# Android带进度条的文件上传示例(使用AsyncTask异步任务)
# Android页面中引导蒙层的使用方法详解
# Android实现新手引导半透明蒙层效果
# Android实现图片上传蒙层进度条
# 我是
# 在这个
# 就能
# 也很
# 达不到
# 给个
# 很差
# 自己动手
# 大家多多
# 设置成
# 新建一个
# 状态栏
# return
# viewParent
相关文章:
如何快速查询网站的真实建站时间?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何快速上传自定义模板至建站之星?
网站按钮制作软件,如何实现网页中按钮的自动点击?
深圳网站制作的公司有哪些,dido官方网站?
大连 网站制作,大连天途有线官网?
黑客入侵网站服务器的常见手法有哪些?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
建站主机选购指南与交易推荐:核心配置解析
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
北京网站制作的公司有哪些,北京白云观官方网站?
C++时间戳转换成日期时间的步骤和示例代码
常州自助建站工具推荐:低成本搭建与模板选择技巧
网站设计制作企业有哪些,抖音官网主页怎么设置?
如何快速搭建高效服务器建站系统?
如何彻底卸载建站之星软件?
建站之星价格显示格式升级,你的预算足够吗?
如何正确下载安装西数主机建站助手?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何解决VPS建站LNMP环境配置常见问题?
如何快速搭建高效WAP手机网站吸引移动用户?
建站之星在线版空间:自助建站+智能模板一键生成方案
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何配置WinSCP新建站点的密钥验证步骤?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
javascript中的try catch异常捕获机制用法分析
如何快速搭建支持数据库操作的智能建站平台?
制作电商网页,电商供应链怎么做?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何通过老薛主机一键快速建站?
中山网站推广排名,中山信息港登录入口?
如何零基础开发自助建站系统?完整教程解析
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
网站专业制作公司有哪些,做一个公司网站要多少钱?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
视频网站app制作软件,有什么好的视频聊天网站或者软件?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速登录WAP自助建站平台?
如何选择适配移动端的WAP自助建站平台?
网站微信制作软件,如何制作微信链接?
营销式网站制作方案,销售哪个网站招聘效果最好?
建设网站制作价格,怎样建立自己的公司网站?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
网站制作难吗安全吗,做一个网站需要多久时间?
nginx修改上传文件大小限制的方法
网站制作软件有哪些,制图软件有哪些?
如何通过智能用户系统一键生成高效建站方案?
宝塔建站助手安装配置与建站模板使用全流程解析
*请认真填写需求信息,我们会在24小时内与您取得联系。