Android应用开发—RecyclerView绘制蒙层
来源:互联网 发布:马三娘骑马 知乎 编辑:程序博客网 时间:2024/06/06 17:38
背景:如何在跨越两个或两个以上的item绘制一个view,该view需要跟随recyclerView的滑动而整体移动。
@Override public 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); } }
@Overridepublic 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);}
阅读全文
0 0
- Android应用开发—RecyclerView绘制蒙层
- Android应用开发—RecyclerView+SwipeToLoadLayout
- Android应用层View绘制流程
- Android应用层View绘制流程
- Android应用开发——动态图形绘制
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Android应用层View绘制流程与源码分析
- Json 解析数据 只有key,没有value的解析
- js初级脚本算法
- 学习java的杂乱笔记
- Windows下的简单命令行
- android模仿微信相册多选。预览,删除
- Android应用开发—RecyclerView绘制蒙层
- Chrome Extension sendMessage & sendRequest【谷歌浏览器扩展之消息通信】
- 集合框架复习总结(三)
- Gradle 入门到精通(四)
- 插入排序(直接插入排序和希尔排序)
- 三大框架Spring+Mybatis+springMVC整合
- iOS开发之同一应用设置不同图标和名称
- BASE64加密解密
- 复习总结06:Kafka