Android 自定义View大纲

自定义View的意义

自定义View的意义:

  • 实现复杂的绘制
  • 实现复杂的触摸事件处理
  • 简洁xml的引用
  • 扩展业务方法或属性,简化调用
  • 实现特定类型的业务场景

如何选择继承的父类

定义xml的属性

属性值类型

定义视图自带属性 attr

定义子视图的布局约束属性(LayoutParams)

测量

测量模式和测量尺寸 MeasureSpc mode size

给出合理尺寸 resolveSize

设置尺寸 setMeasureDimension

布局

开始布局 onLayout

布局参数 LayoutParams

绘制

开始绘制 draw

绘制自身逻辑 onDraw

分发绘制 ViewGroup.dispatchDraw

绘制前景 onForegroundDraw

画布 Canvas

画笔 Paint

变换矩阵 Matrix

图像叠加算法 PorterDuffXfermode

摄像机 Camera

路径 Path

区域 Rect,RectF

可绘制对象 Drawable

位图 Bitmap

触摸事件

事件信息 MotionEvent

事件分发 dispatchTouchEvent

拦截事件 onInterceptTouchEvent

处理自身事件逻辑 onTouchEvent

禁止拦截 requestDisallowInterceptTouchEvent

事件代理 ViewDelegate

触摸事件监听 onTouchListener

点击事件监听 onClickListener

长按事件监听 onLongClickListener

发送点击事件 performClick

视图生命周期

onAttatchedToWindow

onDetatchedFromWindow

onViewAdded

onViewRemoved

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值