Android自定义view

来源:互联网 发布:全民超神刷钻石软件 编辑:程序博客网 时间:2024/05/22 09:11
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事件,确定触摸事件

原创粉丝点击