android 自定义控件基础知识1
2016-10-12 10:30
197 查看
知识点:
1.自定义属性的声明与获取
2.测量 onMeasure
3.布局 onLyout(ViewGroup)
4.绘制 onDraw
5.onTouchEvent
6.onInterceptTouchEvent(ViewGroup)
一 .自定义属性的声明与获取
在 value中 attr.xml文件里声明, 在layout的布局文件中使用
获取方法:
TypedArray a = context.abtainStyledAttributes(attrs,R.styleable.XXX);
注意获取完属性值最后要调用 a.recycle();
二.测量 onMeasure
1. 测量的模式
EXACTLY 精确的值
AT_MOST 最大的值 一般见于 wrap_content
UNSPECIFIED 一般见于 ListView ScrollView
2. requestLayout() : 触发测量
三. 布局 onLayout: 如果自定义View是 ViewGroup,需要调用onLayout方法 决定子View如何放置
onLayout(boolean changed ,int l,int t,int r,int b)
四. 绘制 onDraw
onDraw 绘制内容区域,不需要考虑背景
重绘:invalidate() 子线程中用 postInvalidate()
Canvas.drawXXX
五. onTouchEvent
六 .onInterceptTouchEvent 如果自定义View是 ViewGroup,需要调用[b]onInterceptTouchEvent 方法[/b]
1.自定义属性的声明与获取
2.测量 onMeasure
3.布局 onLyout(ViewGroup)
4.绘制 onDraw
5.onTouchEvent
6.onInterceptTouchEvent(ViewGroup)
一 .自定义属性的声明与获取
在 value中 attr.xml文件里声明, 在layout的布局文件中使用
获取方法:
TypedArray a = context.abtainStyledAttributes(attrs,R.styleable.XXX);
注意获取完属性值最后要调用 a.recycle();
二.测量 onMeasure
1. 测量的模式
EXACTLY 精确的值
AT_MOST 最大的值 一般见于 wrap_content
UNSPECIFIED 一般见于 ListView ScrollView
2. requestLayout() : 触发测量
三. 布局 onLayout: 如果自定义View是 ViewGroup,需要调用onLayout方法 决定子View如何放置
onLayout(boolean changed ,int l,int t,int r,int b)
四. 绘制 onDraw
onDraw 绘制内容区域,不需要考虑背景
重绘:invalidate() 子线程中用 postInvalidate()
Canvas.drawXXX
五. onTouchEvent
六 .onInterceptTouchEvent 如果自定义View是 ViewGroup,需要调用[b]onInterceptTouchEvent 方法[/b]
相关文章推荐
- Android自定义控件(一)——基础知识了解
- Android 自定义控件学习之一 基础知识
- Android自定义控件前导基础知识学习(一)——Canvas
- Android自定义控件前导基础知识学习(一)——Canvas
- Android 自定义控件学习之一 基础知识
- Android自定义控件基础知识----View的生命周期
- Android基础知识大纲
- Android 基础知识 - R.id.x 的由来
- Android 基础知识
- android学习必备java基础知识——内部类
- 解读Android之Service(1)基础知识
- 【Xamarin开发 Android 系列 4】 Android 基础知识
- Android开发指南-框架主题-基础知识
- Android基础知识巩固:关于PendingIntent和广播
- Android学习之路-基础知识-Fragement(1)
- Android基础知识点-Manifest清单文件
- Android基础小知识
- Android基础知识【项目实训-第一期实训完结】【9】
- android基础知识之AIDL简单入门
- Android开发-直播视讯(2)-ijkplayer-基础知识