Android应用开发—RecyclerView绘制蒙层

背景:如何在跨越两个或两个以上的item绘制一个view,该view需要跟随recyclerView的滑动而整体移动。

 @Overridepublic void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {super.onDrawOver(c, parent, state);final View child = parent.getChildAt(1);if (child != null) {final int left = child.getLeft();final int right = child.getRight();final int top = child.getTop();final int bottom = child.getBottom();int rightV = (right - left) / 6;int leftV = (right - rightV) - VAUtils.dip2px(mContext, 225);int topV = bottom - VAUtils.dip2px(mContext, 16);int bottomV = topV + VAUtils.dip2px(mContext, 82);ViewGroup.MarginLayoutParams margin = new ViewGroup.MarginLayoutParams(mImageView.getLayoutParams());margin.setMargins(leftV, topV, rightV, bottomV);RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(margin);mImageView.setLayoutParams(layoutParams);if (!imageClicked) {mImageView.setVisibility(View.VISIBLE);}//画笔final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);//圆心 x 坐标final float x = parent.getWidth() / 2 + left;圆心 y 坐标final float y = 100 + top;//半径final float radius = 100;//渐变着色器 坐标随意设置的final LinearGradient shader = new LinearGradient(x-50, 0, x+100, 200, Color.RED, Color.YELLOW, Shader.TileMode.REPEAT);paint.setShader(shader);//绘制圆c.drawCircle(x, y, radius, paint);}}
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {super.onDrawOver(c, parent, state);//画笔final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);//圆心 x 坐标final float x = parent.getWidth() / 2;圆心 y 坐标final float y = 100;//半径final float radius = 100;//渐变着色器 坐标随意设置的final LinearGradient shader = new LinearGradient(x-50, 0, x+100, 200, Color.RED, Color.YELLOW, Shader.TileMode.REPEAT);paint.setShader(shader);//绘制圆c.drawCircle(x, y, radius, paint);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序_3

希尔排序:分组排序 是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序; 随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 def shell_sort(array)…

face++算法工程实习生面试

2018-01-11 算法工程实习生 自动化工具链方面 面试的知识点非常仔细,十分检验基本功底 1.自我介绍 2.算法题,leetcode 第一题 两数之和 问python中数组和字典的查找时间复杂度 3.git git 4.linux 常用命令 cd - ,cd ,cd ~,cd / awk 读取倒数第一行&a…

IDEA中怎么设置黑色或白色背景?

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 开启软件Intellij IDEA,在编辑框上面找到最前端的File。 点击File,找到Setting,点击进入。 然后在…

大公司体制内创新的困境

周末在家,随手翻看了一点吴军老师的《浪潮之巅》这本书。去年这本书上市之后我从头到尾阅读了一遍,在《浪潮之巅》中吴军老师历数了IT行业公司的兴衰发展史,提出了一个令人印象深刻的“基因决定论”,即由于公司基因的影响&#xf…

java打印调用堆栈的方式

Log.d(TAG,Log.getStackTraceString(new Throwable()));

weblogic jprofile配置

前提: 1.安装好weblogic 2.安装好jprofile 非等待模式: export JAVA_OPTIONS"${JAVA_OPTIONS} -Dweblogic.threadpool.MinPoolSize100 -Dweblogic.threadpool.MaxPoolSize1000 -Djava.awt.headlesstrue -agentpath:/opt/jprofiler9/bin/linux-x64/l…

springboot/git学习资源记录

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 只是记录一下觉得不错的资源: springboot: http://bbs.itmayiedu.com/article/1508826968799 http://blog.720ui.com/tags…

音视频引擎研究

音视频包:http://ishare.iask.sina.com.cn/f/33851582.html 1、WebRTC目的 WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应…

我为什么“放弃”从事八年的嵌入式领域

由于嵌入式平台性能所限,以及相应的开发平台,工具,语言所限,导致很多前沿领域的软件工程理论,方法无法实施,有些跟不上时代的感觉。 ……

Linux命令替换字符串

:%s/str1/str2/ 用str2替换str1 转载于:https://www.cnblogs.com/haiyang21/p/10020503.html

人格差异

一.感知方式 感知是获取感受的方式 感觉型【S】 S首先通过五官来直接感知事物。注意点在于当前的事实环境,而不是事实的来源。比如:雪融化了 因为太阳出来了,是事实。雪融化了,因为雪吸收太阳的热量,达到自身融点&…

Hibernate @JoinTable 注解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 JoinTable支持的属性 属性是否必须说明name否指定该连接表的表名JoinColumns否该属性值可接受多个JoinColumn,用于配置连接表…

潭州课堂25班:Ph201805201 django 项目 第三十九课 后台 文章发布,图片上传到 FastDFS后端实现 七牛云讲解(课堂笔记)...

文章发布: # 1,从前台获取参数# 2,校验参数# 3,把数据保存到数据库# 4,返回执行结果到前台,(创建成功或失败)自定义 froms.py 校验参数 上传图片到七牛云 注册 https://www.qiniu.c…

原来公司需要这样的你

担任项目经理也有几年的时间了,项目组里来了不少的刚毕业或者工作时间不长的年轻人,有精明能干的,有中庸无为的也有自暴自弃混日子的,但再优秀的年轻人也会犯这样那样的错误,我总结起来一般就是以下这些问题&#xff0…

MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 前言: 关于多级别菜单栏或者权限系统中部门上下级的树形遍历,oracle中有connect by来实现,m…

git使用—rebase还是merge

转载自:https://segmentfault.com/q/1010000007704573/ 我猜现实中的情况是这样的: 使用 git 的人群中,不会用 rebase(哪怕是基础功能的)的至少一半(这个估计恐怕很保守了) 剩下一半里真正理解…

淘宝网轮播图

转载于:https://www.cnblogs.com/wxwxwx/p/10264370.html

atob和btoa的趣谈

2019独角兽企业重金招聘Python工程师标准>>> 不了解的人突然看到window对象的atob和btoa 函数,估计会认为哪个臭小子添加全局函数了。 你如果告诉他这是原生函数,他一定会怒骂:哪个脑残给api起个这样的名子。 你能猜出来这两个函数…

esp32使用lvgl,给图片取模显示图片

使用LVGL官方工具。 https://lvgl.io/tools/imageconverter 上传图片,如果想要透明效果,那么选择 输出格式C array,点击Convert进行转换。 下载.c文件放置到工程下使用即可。

音视频即时通讯二次开发

用于二次开发企业即时通讯源码(C/MFC),现在,做一个普通的即时通讯软件不是一件难事,网上有很多很好的这类软件的源代码可以拿来使用。今天就介绍一个我用过,觉得不错的给大家。软件叫 ANYCHAT SDK(以下简称…