Android自定义View
文章平均质量分 86
Android自定义View图谱知识库
Cupster
深山磨柴斧,一鸣震江湖。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【5年Android从零复盘系列之二十】Android自定义View(15):Matrix详解(图文)【转载】
【转载】本文转载自麻花儿wt的文章《android matrix 最全方法详解与进阶(完整篇)》【5年Android从零复盘系列之二十】Android自定义View(15):Matrix详解【转载】1.概述Android Matrix ,是一个3*3矩阵,用于Android View中处理图形变换。2.原理2.1 Android Matrix 矩阵图示功能/作用图示其中:MSCALE_X代表x方向的缩放值,MSCALE_Y代表y方向的缩放值;MSKEW_X、MSKEW_Y分别代转载 2021-02-01 14:39:58 · 5583 阅读 · 0 评论 -
【5年Android从零复盘系列之十九】Android自定义View(14):手势处理库android-gesture-detectors详解(图文)
【5年Android从零复盘系列之十九】Android自定义View(14):手势处理库android-gesture-detectors1.简介android-gesture-detectors是作者almeros封装的一个手势处理库,可以直接使用处理两指旋转手势、推压手势、拉伸手势、拖拽手势,以及Android自带的缩放手势。代码量不多,简单,有兴趣可以自行阅读源码,会有不小收获。Github连接https://github.com/Almeros/android-gesture-detec原创 2021-01-28 17:26:05 · 13699 阅读 · 1 评论 -
【5年Android从零复盘系列之十八】Android自定义View(13):自定义手势存储及使用 详解(图文)
【5年Android从零复盘系列之十八】Android自定义View(13):自定义手势存储及使用1.基础掌握View体系事件分发与处理,参考Android自定义View(9):事件分发&处理掌握基础的手势监听及手势动作有关的回调时机,参考Android自定义View(10):手势监听&处理了解GestureLibrary和GestureOverlayView的api使用,参考官方API文档了解自定义手势绘制及其原理2.存储手势手势绘制请参考Android自定义View(原创 2021-01-27 18:41:33 · 10487 阅读 · 1 评论 -
【5年Android从零复盘系列之十七】Android自定义View(12):手势绘制及GestureOverlayView事件详解(图文)
【5年Android从零复盘系列之十七】Android自定义View(12):自定义手势存储及使用1.基础掌握View体系事件分发与处理,参考Android自定义View(9):事件分发&处理掌握基础的手势监听及手势动作有关的回调时机,参考Android自定义View(10):手势监听&处理了解GestureLibrary和GestureOverlayView的api使用,参考官方API文档2.绘制绘制简述:(具体用法及要点见代码注释)1.首先在布局文件中添加Gestu原创 2021-01-27 18:29:07 · 1387 阅读 · 0 评论 -
【5年Android从零复盘系列之十六】Android自定义View(11):手势实践之可拖拽缩放ImageView详解(图文)
【5年Android从零复盘系列之十六】Android自定义View(11):手势监听处理实践之双指缩放双击复原可拖拽ImageView1.效果1.拖拽2.双击复原、双指缩放3.点击回调、关闭activity2.监听手势实现功能双指缩放拖拽移动点击事件回调(查看大图的Activity中可以finish)双击事件回调,图片复原3.用法及代码详解3.1属性添加/res/value/attrs.xml添加属性节点 <declare-styleable name="Sca原创 2021-01-22 16:27:54 · 11656 阅读 · 2 评论 -
【5年Android从零复盘系列之十五】Android自定义View(10):手势监听&处理详解(图文)
【5年Android从零复盘系列之十五】Android自定义View(10):手势监听&处理1.基础了解自定义view事件分发处理机制,请参考Android自定义View(9):事件分发&处理2. 手势简介GestureDetector是手势监听类,能够监听手指接触屏幕后的一系列动作:按下、短按、长按、滑动、单指抬起等;ScaleGestureDetector是缩放手势监听类,能够监听多指缩放事件,用法与GestureDetector基本一致;GestureDet原创 2021-01-22 16:24:38 · 1826 阅读 · 0 评论 -
【5年Android从零复盘系列之十四】Android自定义View(9):事件分发&处理详解(图文)
【5年Android从零复盘系列之十四】Android自定义View(9):事件分发&处理1.三个重要方法三者关系伪代码public boolean dispatchTouchEvent(MotionEvent event){ boolean consume = false; if( onInterceptTouchEvent(event) ){ consume = onTouchEvent(event); }else{ consume原创 2021-01-20 17:19:40 · 23532 阅读 · 0 评论 -
【5年Android从零复盘系列之十三】Android自定义View(8):绘制动画详解(图文)
1.简述自定义view绘制动画原理就是,定义一个value值,值随着动画进度改变而改变;在onDraw()中,绘制时使其中某个或多个参数值*value/100(假设设置动画进度最大值100);而后设置动画对象时,value每次变化时,调用postInvalidate()通知视图重绘,从而再次调用onDraw()…如此循环,从而实现绘制动画。2.使用实际使用效果:2.1代码解释2.1.1 动画控制 private int animProgress = 0;//定义一个 跟随动画进度变化的v原创 2021-01-15 10:58:03 · 3899 阅读 · 0 评论 -
【5年Android从零复盘系列之十二】Android自定义View(7):绘制路径Path详解
简介Path可视为画笔的移动路径,or绘制路径,可以预设自定义形状的路径,供Paint直接按路径绘制图案。常用功能方法功能备注moveTo(float x,float y)笔移动到x,y点未接触画布,无绘制结果产生rMoveTo(float x,float y)基于当前笔位置(x0,y0),移动量分别为x,y,移动画笔至(x0+x ,y0+y)点未接触画布,无绘制结果产生setLastPoint(float x,float y)改变上一步操作的末点无绘制原创 2021-01-14 17:43:51 · 4379 阅读 · 0 评论 -
【5年Android从零复盘系列之十一】Android自定义View(6):画笔Paint
简介Paint 可视为画笔,可定义颜色、线条、图案、填充等属性常用功能/方法方法功能备注setColor()设置画笔颜色setStrokeWidth()设置画笔绘线宽度 (笔芯粗细,单位px)当画布缩放时,画笔粗细会跟着缩放,设置setStrokeWidth(0)时,不会跟着缩放,就一直是1px粗setAntiAlias()设置是否开启抗锯齿setAlpha()设置画笔透明度参数取值范围【0-255】setARGB()设置透明度&原创 2021-01-14 16:29:31 · 4024 阅读 · 0 评论 -
【5年Android从零复盘系列之十】Android自定义View(5):画布Canvas详解(图文)
1.简介Android系统提供Canvas、Paint 、Path三剑客用于绘制View图形。如果将自定义View的绘制看作美术课绘画作业的话,Canvas可视为画板上的空白画布,Paint可视为画笔,Path可视为绘画者的执笔路径。其他坐标系等基础,可参考阅读:自定义View(1):基础2.Canvas 的常用功能方法功能drawColor()设置画布颜色drawCircle()绘制圆形drawRect()绘制矩形drawRoundRect()原创 2021-01-11 18:43:40 · 4898 阅读 · 0 评论 -
【5年Android从零复盘系列之九】Android自定义View(4):自绘式详解(图文)
1. 简述建议:熟悉View的绘制、Android事件传递、手势处理再常用自绘式。方式:直接继承View ,重写绘制流程三步骤measure() 测量layout() 布局计算摆放坐标draw() 绘制2. 前提基础2.1了解View关联Activity时的生命周期可参考 : Android自定义View(1):基础2.2 了解自定义View的自定义属性,以及获取、使用可参考 : Android自定义View(1):基础2.3 重要的生命周期函数1.onAttachedToWind原创 2021-01-04 18:40:39 · 6676 阅读 · 0 评论 -
【5年Android从零复盘系列之八】Android自定义View(3):衍生/扩展式 详解(图文)
1.简述简而言之,即 如继承TextView,修改默认background、marquee状态时,elevation值、取消默认最小高度等。2.前提基础了解View的生命周期,关联Activity联动时的函数调用顺序【View】构造方法【View】onFinishInflate()【Activity】 onCreate()【Activity】onStart()【Activity】onResume()【View】onAttachedToWindow()【View】onMeasure()原创 2021-01-04 16:38:12 · 5692 阅读 · 0 评论 -
【5年Android从零复盘系列之七】Android自定义View(2):组合式详解(图文)
1.简述顾名思义,即xml文件中根布局使用RelativeLayout(同理其他布局控件),内部使用其他View控件,布局摆放,组合成XxxView的原始布局。然后,Java类继承根布局标签对应的容器类,覆写构造函数,并初始化各子View的变量。是最常用、最稳妥、不易产生过度绘制、内存泄漏等问题。2. 实践2.1 编辑 组合View的UI<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=原创 2021-01-04 11:33:21 · 5456 阅读 · 0 评论 -
【5年Android从零复盘系列之六】Android自定义View(1):基础详解(图文)
1.基础一:坐标计算1.1 Android窗口坐标系计算以屏幕左上角为原点,向右为X轴正向,向下为Y轴正向1.2 View坐标系【注意获取的坐标是像素值,不是dp值】【注意获取的坐标是像素值,不是dp值】【注意获取的坐标是像素值,不是dp值】//获取View内部相对的坐标值(距离)getX()、getY()//获取View相对父View的相对坐标值(距离)getLeft()、getTop()、getRight()、getBottom()//获取的是屏幕中的实际坐标值(距离)getR原创 2020-12-31 20:15:34 · 4551 阅读 · 1 评论
分享