Android自定义view

本文详细介绍了Android自定义View的三种实现方式:组合控件、自绘控件和继承控件。并阐述了自定义View的绘制流程及优化方法,包括如何测量、绘制控件,处理触摸事件等。
android自定义view的三种实现方式
组合控件:就是将一些小的控件组合起来形成了一个新的控件,这些小的控件多是系统自带的控件。
自绘控件:在view的onDraw方法中完成绘制。
继承控件:就是继承已有的控件,创建新控件,保留继承的父控件的特性,并且还可以引入新特性。
自定义view的绘制流程
1.在OnMeaure()中,测量自定义控件的大小,使自定义控件能够自适应布局各种各样的需求
2.在OnDraw()中,利用哼哈二将(Canvas和Paint)来绘制要显示的内容
3.OnLayout()方法中确定控件显示的位置
4OnTouch事件,确定触摸事件
View的Touch事件分发流程
ouch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。
View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。
ViewGroup的相关事件有三个:onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent。View的相关事件只有两个:dispatchTouchEvent、onTouchEvent。
自定义view的绘制流程
1. 自定义View的属性;
2. 在View的构造方法中获得自定义的属性;
3. 重写onMeasure(); --> 并不是必须的,大部分的时候还需要覆写
4. 重写onDraw();

如何对一个自定义View进行布局优化?
优化视图(越少越好,减少invalidate()的使用,当必须使用的时候可以选择使用带参数的invalidate()),降低刷新的频率,使用硬件加速

自定义View有哪些主要方法
1.在OnMeaure()中,测量自定义控件的大小,使自定义控件能够自适应布局各种各样的需求
2.在OnDraw()中,利用哼哈二将(Canvas和Paint)来绘制要显示的内容
3.OnLayout()方法中确定控件显示的位置
4OnTouch事件,确定触摸事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值