
Android 自定义View
自定义view问题记录与学习
胡小牧
岁月推动着年华,伴随着流水的脚步走过春夏秋冬。回想一路走来磕磕绊绊,感谢前辈们的无私奉献,本文重在共享,欢迎大家转载,评论,收藏,点赞,谢谢,如果您对文章存在疑问,或者和您的文章类似,请私信,----------------期待是心痛的根源,心不动,则不痛。
展开
-
Android 自定义ProgressBar 实现进度圆环
实现的效果如下图实现效果图demo 的地址代码很简单自定义ProgressBar下面直接列举下代码progressBarView 的代码如下public class ProgressBarView extends View { // 底色圆环的画笔 private Paint bgPaint; // 底色圆环的颜色 private int bgColor; // 进度圆的画笔 private Paint ringProgressPa.原创 2021-01-29 18:16:32 · 2897 阅读 · 3 评论 -
Android 手势—— GestureDetector 和 SimpleOnScaleGestureListener (手势缩放)
GestureDetector 的作用:检测各种手势和事件,使用的使用一般和onTouchEvent 方法结合在一起使用下面主要说的内容是GestureDetector 和ScaleGestureDetector1GestureDetector里面有一些回调接口下面说下1.1OnGestureListener 这个是接口,实现的时候里面的方法会自动生成,1.2SimpleOnGestureListener 这个是静态的里面的方法需要自己重写,就是有时候不需要让生成一大堆的方法...原创 2020-09-23 14:02:43 · 2481 阅读 · 1 评论 -
Android 自定义View ——Matrix (矩阵)
Matrix的作用:Matrix类包含一个3x3矩阵,用于转换坐标Matrix (矩阵) 的原理很遗憾自己目前也是含糊的很,这里就不说了,记录自己在项目使用的方法,这里就简单的记录下Matrix (矩阵)包含的几个方法,Matrix (矩阵)主要可以对图像做4种基本变换(1)Translate 平移变换(2)Rotate 旋转变换(3)Scale 缩放变换(4)Skew 错切变换1Translate 平移变换 Bitmap bitmap = BitmapF..原创 2020-09-16 16:55:04 · 1168 阅读 · 0 评论 -
Android自定义View —— TypedArray
在上一篇中Android 自定义View Canvas —— Bitmap写到了TypedArray 这个属性下面也简单的说一下TypedArray的使用TypedArray 的作用:用于从该结构检索值的索引对应于给定给获取StyledAttributes的属性的位置。TypedArray 使用 obtainStyledAttributes 检索此上下文主题中的样式化属性信息下面使用TypedArray 来 显示一张图片自定义TestView public class Te..原创 2020-09-16 14:11:25 · 653 阅读 · 0 评论 -
Android 自定义View Canvas —— Bitmap
Bitmap 绘制图片 常用的方法有一下几种(1)drawBitmap(@NonNull Bitmap bitmap, float left, float top, @Nullable Paint paint)(2)drawBitmap(@NonNull Bitmap bitmap, @NonNull Matrix matrix, @Nullable Paint paint)(3)drawBitmap(@NonNull Bitmap bitmap, @Nullable Rect src, ...原创 2020-09-15 19:17:59 · 1917 阅读 · 2 评论 -
Android 自定义View —— Path
Path 的概念:Path类封装由直线段,二次曲线和三次曲线组成的复合(多个轮廓)几何路径。可以使用canvas.drawPath(path,paint)对其进行填充或描边绘制(基于Paint的Style),也可以用于剪切或在路径上绘制文本Path 的使用也就是上一篇canvas 里面没有说的drawPath方法(1)lineTo、rLineTo 绘制线 (注意很多方法都有不带r与带r 我也写了2边它们的区别,不带r的)(2)moveTo、rMoveTo 修改起始点位置(3)setL..原创 2020-09-14 19:12:10 · 899 阅读 · 0 评论 -
Android 自定义 —— View moveTo与 rMoveTo 的区别
moveTo 的作用:将下一个轮廓的起点设置为点(x,y)我们在使用lineTo的使用启动是(0,0)肯定不是每次都想从(0,0)点开始所以配合moveTo 移动之后的点在使用lineTo移动。下面看下代码和效果图 paint.setAntiAlias(true); // 设置画笔的style (Paint.Style.FILL填充,Paint.Style.STROKE描边,Paint.Style.FILL_AND_STROKE填充加描边 ) paint原创 2020-09-14 15:16:56 · 809 阅读 · 0 评论 -
Android 自定义 —— View lineTo 与 rLineTo 的区别
lineTo 的作用:从最后一点到指定点(x,y)添加一条直线(这里大家要了解view坐标系左上角0.0 开始的)它的特点是:绘制一条道(x,y)的一条直线 ,如果没有对此轮廓执行moveTo()调用,则第一个点将自动设置为(0,0)下面画一条线看看效果 paint.setAntiAlias(true); // 设置画笔的style (Paint.Style.FILL填充,Paint.Style.STROKE描边,Paint.Style.FILL_AND_STROKE填充原创 2020-09-14 13:18:34 · 1229 阅读 · 0 评论 -
Android 自定义View —— Canvas
上一篇在android 自定义view Paint 里面 说了几种常见的Point 属性绘制图形的时候下面总有一个canvas ,Canvas 是是画布 上面可以绘制点,线,正方形,圆,等等,需要和Paint 结合一起使用,比如画画 需要画笔和纸。Canvas 常用的方法如下1 drawColor 绘制背景色drawColor 绘制背景色 说起来这个刚开始接触android 学view 的时候就感觉好奇,别的都是需要带Paint 为啥drawColor...原创 2020-09-11 18:26:29 · 1053 阅读 · 1 评论 -
Android Rect 的使用以及与RectF的区别
Rect 保存矩形的四个整数坐标。矩形是由四条边(左、上、右下)的坐标表示,绘制矩形的时候用得到 // 设置抗锯齿效果 true是去边缘会将锯齿模糊化 paint.setAntiAlias(true); // 设置画笔的style (Paint.Style.FILL填充,Paint.Style.STROKE描边,Paint.Style.FILL_AND_STROKE填充加描边 ) paint.setStyle(Paint.Style.FILL_原创 2020-09-11 14:19:35 · 2380 阅读 · 3 评论 -
Android 自定义View —— Paint
上一篇说了自定义view的坐标系以及view 的使用,下面说下自定义view Paint 的使用Paint 相对于画笔 ,可以使用Paint 来决定画的内容的颜色,边距粗细,设置样式,字体大小 ,等等Paint 是和Canvas结合使用的,就相当于如果只有画笔没有纸是画不出来画的Paint 方法在android developers 网站粗略计算了100种方法还要靠上,就不打算列举出来了,遇到不懂的上去查查就行developers Paint 地址下面说下自己常用的属性的几种原创 2020-09-11 13:27:43 · 788 阅读 · 0 评论 -
Android drawLine 画虚线
drawLine 是画线的 ,有时候想画虚线可以使用 PathEffect 代码如下 Paint linePaint = new Paint(); linePaint.reset(); linePaint.setAntiAlias(true); linePaint.setStyle(Paint.Style.STROKE); li...原创 2020-03-29 22:14:54 · 3175 阅读 · 0 评论 -
Android 自定义View (入门 篇) 的使用
每次都是过了很久都需要温习一下,自己打算整理一下方便查阅,自定义view 首选需要明白的就是它的坐标系了,以手机左上角为起始点(0.0),横向的为x轴,竖向的为y轴为了更好的理解我画了一幅草图如下上面的x轴和y轴记住就行,以后画的效果图的时候知道设置的问题下面说下基本使用假如简单的画了一个圆或者一条线,这个view怎样使用 ,这个就需要把这个view放到xml 中 就行了记得当初刚接触android 的看的别人的都是说原理之类的,当时就好奇这个view 怎么使用的呢,哎现原创 2020-09-10 14:04:42 · 1325 阅读 · 0 评论