先上效果图:

这个效果一开始我是想直接让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 新手引导蒙层效果实现代码示例

本文地址: http://www.cppcns.com/ruanjian/android/175965.html

android 给图片蒙上蒙层_Android 新手引导蒙层效果实现代码示例相关推荐

  1. Android动画(图片闪烁、左右摇摆、上下晃动等效果)

    Android动画(图片闪烁.左右摇摆.上下晃动等效果) 通常我们需要一个item连续的播放某一段动画或者循环的执行某个动画,这里我们就可以用到一下技巧. 一.续播 (不知道取什么名字好,就是先播放动 ...

  2. android+底部评论框,Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)...

    实现的效果图: 自定义Fragment继承BottomSheetDialogFragment 重写它的三个方法: onCreateDialog() onCreateView() onStart() 他 ...

  3. Android中用图片自定义一个进度条(实现蒙板效果)

    问题概述 对于进度条我相信大家不陌生,这里我就不再多说什么了.因为这个不是重点.我们要说的是如何去自定义一个不一样的进度条.这里用到两张图片(背景和前景),其实是三张(背景.前景和蒙图).当我们的蒙图 ...

  4. 【Android 逆向】函数拦截 ( ARM 架构下的插桩拦截 | 完整代码示例 )

    文章目录 一.ARM 架构下的插桩拦截 二.完整代码示例 一.ARM 架构下的插桩拦截 ARM 架构下的跳转指令 : 下面的二进制数都是十六进制数 ; 323232 位指令 ; 04 F0 1F E5 ...

  5. android 为图片打上水印

    说起水印其实很简单,就是在一张图片上面画上另一张图片或文字 实现如下: package com.tang.watermark;import android.app.Activity; import a ...

  6. android 图片闪光动画_剖析Android动画(图片闪烁、左右摇摆、上下晃动等效果) | 学步园...

    图片闪烁,类似这样. 2011-11-22 16:18 上传 左右摇摆: 2011-11-22 17:07 上传 一.续播  (不知道取什么名字好,就是先播放动画A, 接着播放动画B) 有两种方式. ...

  7. android图片晃动动画,剖析Android动画(图片闪烁、左右摇摆、上下晃动等效果)

    通常我们需要一个item连续的播放某一段动画或者循环的执行某个动画,这里我们就可以用到一下技巧. 一.续播(不知道取什么名字好,就是先播放动画A, 接着播放动画B) 有两种方式: 第一种: 分别定义两 ...

  8. 【Android 安全】DEX 加密 ( 阶段总结 | 主应用 | 代理 Application | Java 工具 | 代码示例 ) ★

    文章目录 一.主应用 二.代理 Application 解析 1.代理 Application 源码 2.反射对象成员以及方法的工具类 3.压缩解压缩工具类 4.OpenSSL 解密工具类 5.Ope ...

  9. JSP页面上用下横线代替文本框效果的代码

    代码如下: <tr> <td class="content" colspan = 4> <input type="hidden" ...

最新文章

  1. 为何协作机器人能够兴起?“协作机器人-激烈的市场谁能杀出重围”
  2. Hive 基础-进阶
  3. Web ReplayType?
  4. java 调整数组顺序使奇数位于偶数前面
  5. jvm类加载机制和类加载器_在JVM之下–类加载器
  6. php文本框自动补全,PHP自动补全表单的两种方法
  7. 给 c# 程序员的十个重要提示
  8. ShadeGraph教程之节点详解1:Artistic Nodes
  9. 性能测试用例、策略和方法
  10. Linux文件权限管理 chmod 读、写、可执行
  11. 数字音频采样率与码率(转)
  12. 【QT C++ TCP通信调试助手】
  13. java笔画数_Java调用setStroke()方法设置笔画属性的语法 原创
  14. 流程图与算法_流程图与算法之间的区别
  15. 汶川大地震引起最近全国人民心理一定程度的恐慌问题
  16. SCI论文写作中常用的连接词和短语
  17. 迭代(一):迭代算法的基本思想
  18. 程序员圈“内卷”这么严重,如何才能更进一步,实现个人价值?
  19. Liquibase 使用(全)
  20. 跟主页劫持的浏览器再见了,被恶意劫持修改方法!

热门文章

  1. 招聘 | 胡传鹏博士课题组招硕士、博士
  2. 小程序近期频繁更新 背后原因全面解读
  3. ssh报错:no matching host key type found. Their offer: ssh-rsa
  4. 多个西瓜视频怎么批量管理?
  5. 超级计算机控制人的电影,想知道这部电影的名字,讲述通过超级计算机进入人脑.回到过去.其中有个老教授死亡留下一封信给给主角。...
  6. react-native播放视频组件 react-native-video的用法
  7. deepin启动盘制作工具_YUMI——多重引导制作工具
  8. matlab曲线已知y求x,已知X、Y用MATLAB绘制曲线
  9. 走向Web渗透工程师
  10. 攻防世界 真是阳间题