
自定义控件
只管羊毛薅
写好每一行代码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安卓camera2仿扫一扫,自定义预览拍照界面
目录一:布局展示,显示透明相机预览和非透明遮盖区域二:预览布局左移三:最终拍照得到的bitmap裁剪先上一波我的需求图:而且,拍照完,还要截取对应的位置去展示,如下:为了方便,3个界面被我整合到一个activity了,根据传入type不同,展示不同的相机预览布局,编写代码中遇到最大的问题就是:相机预览拉伸至全屏,肯定会拉伸(可以看看自带的手机相机,基本上为了保证清晰度,底部都是黑色区域做填充),因此,如何不拉伸是一个问题。还有就是,处理完拉伸后(扩大相机的预览,将部分视图原创 2020-07-31 17:26:54 · 1582 阅读 · 6 评论 -
自定义控件-宫格图片
效果:这种布局,用RecyclerView的grid布局也可以搞定,但是阔以锻炼一波对自定义Viewgroup的子控件的测量和摆放。1.自定义属性提取<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="GridImageVi...原创 2019-03-11 15:15:21 · 2615 阅读 · 0 评论 -
自定义控件-存储搜索历史记录
目录1.效果2.分析1)attr属性提取2)自定义类代码3)添加控件至viewGroup1.效果有搜索框的地方经常可以看到这样的自定义控件,来保存搜索历史。2.分析1)attr属性提取自定义容器Viewgroup,通过容器的addView,将历史搜索记录的textview传入,容器通过layout,决定textview的摆放位置。除了需要在自定义View...原创 2019-03-07 18:17:01 · 229 阅读 · 0 评论 -
View和SurfaceView的刷新抉择
目录1.view的刷新2.View和SurfaceView主要区别3.SurfaceView使用模板4.示例-绘制正弦函数5.根据触屏XY坐标绘制路径1.view的刷新在自定义view时候,如果要重绘View,我们会调用invalidate(),如果同时某些子控件的位置等也需要变化,我们还会调用requestLayout()。在通知控件的重绘方式上,可以选择handle...原创 2019-03-07 10:56:39 · 3766 阅读 · 0 评论 -
关于ondraw你该知道的(二)
目录1.变形矩阵Matrix0)简介1)主要函数2)示例3)set()、post()、pre()函数2.drawbitmapmesh像素块分析2.Shader渲染器1)图像渲染———BitmapShader2)LinearGradient——–线性渲染3)RadialGradient——–环形渲染4)SweepGradient——–扫描渲染5)Com...原创 2019-03-06 17:05:53 · 910 阅读 · 0 评论 -
关于ondraw你该知道的(一)
目录1.'画板'canvas2.画布canvas的操作0)canvas绘制前后,加入操作1)平移2)旋转3)截取4)画布的锁定5)图层Layer合成6)图层Layout创建和移除3.PorterDuffXfermode1)交集区域的16种处理及展示2)利用PorterDuffXfermode制作圆角图4.颜色矩阵ColorMatrix1)原理...原创 2019-03-06 15:00:31 · 2311 阅读 · 0 评论 -
自定义控件可用的系统工具
1.Configuration获取设备的配置信息:转:https://blog.youkuaiyun.com/james_shu/article/details/550954712.ViewConfiguration-标准常量获取XX尺寸大小,触碰或滑动一些属性值转:https://blog.youkuaiyun.com/heng615975867/article/details/80406534...转载 2019-02-22 12:07:10 · 2131 阅读 · 0 评论 -
自定义控件的构造方法
目录1.自定义控件常用的三个构造方法,参数分别1和2和32.三个方法的区别主要3.总结:参考:https://blog.youkuaiyun.com/wzy_1988/article/details/496197731.自定义控件常用的三个构造方法,参数分别1和2和3public MView(Context context) { super(context);}publ...翻译 2019-02-22 10:04:00 · 651 阅读 · 0 评论 -
View的一些常用函数
除了常用的3大流程,再来看看其他一些比较重要的函数1.onTouchEvent@Overridepublic boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event);}可以在自定义控件里,设置自己的触碰规则2.onFinishInflate @Override ...原创 2019-03-04 15:22:58 · 273 阅读 · 0 评论 -
自定义View的三大流程浅析
目录0.前置1.自定义View简介2.MeasureSpec1) SpecMode3.View的工作流程1) View的measure过程2)ViewGroup的measure过程3)layout流程4)draw流程0.前置上层容器负责下层子控件的测量和绘制,并传递交互事件。通常Activity界面由顶部的titleView和下方contentVie...原创 2018-09-07 09:38:22 · 1948 阅读 · 0 评论