Android-View-绘制
来源:互联网 发布:js调用麦克风录音 编辑:程序博客网 时间:2024/05/16 17:31
View绘制流程
- measure:确定大小
- layout:确定位置
- draw:执行绘制
measure
- 关键方法
方法 1:public final void measure(int widthMeasureSpec, int heightMeasureSpec);
功能:计算一个view应该显示的大小尺寸。但是,测量工作没有实际生效!!!
方法 2:protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
功能:设定view的尺寸,view子类通过重写此方法确定其内容的大小尺寸。包含子视图的viewGroup应在此遍历测量所有子视图的尺寸!
方法 3:protected final void setMeasuredDimension(int measuredWidth, int measuredHeight);
功能:此方法必须被onMeasrue()方法调用,来存储已测量view的width和height。
- 相关类
1,MeasureSpec:组合size, mode到一个int数据中。
mode三个值:
- EXACTLY 子视图的大小为父视图指定的size值
- AT_MOST 子视图的大小不超过size值
- UNSPECIFIED 子视图可设置成任意的大小,没有任何限制。
layout
- 关键方法
方法 1:public void layout(int l, int t, int r, int b);
功能:指定内部子view的显示位置和尺寸。但是,没有实际生效!!!
方法 2:protected void onLayout(boolean changed, int left, int top, int right, int bottom);
功能:指定内部childView的尺寸和位置。自定义的ViewGroup应重写此方法,并遍历调用其包含的所有childView的layout()方法!
方法 3:public final int getWidth();
功能:获取view的宽度。计算方法:mRight - mLeft
方法 4:public final int getMeasuredWidth();
功能:获取view测量后的宽度。计算方法:setMeasuredDimension(int measuredWidth, int measuredHeight)设定的值。
draw
- 关键方法
方法 1:public void draw(Canvas canvas);
功能:绘制view(以及其包含的childView)。
方法 2:protected void onDraw(Canvas canvas);
功能:执行自定义的绘制工作。
- 【View】Android View绘制机制
- Android 如何 绘制View
- android如何绘制view
- Android View绘制流程
- Android View绘制流程
- Android如何绘制View
- Android View绘制流程
- Android View绘制流程
- Android View绘制流程
- Android View绘制流程
- android View 绘制流程
- Android View绘制过程
- Android View绘制过程
- Android View绘制流程
- Android View绘制过程
- Android View绘制流程
- Android View绘制过程
- Android View绘制流程
- Liunx 用户权限管理
- android获取屏幕的分辨率
- SystemC在ubuntu上的安装
- Android群英传学习笔记——ListView使用技巧
- 66,Xcode API文档阅读
- Android-View-绘制
- javascript 自定义Array对象
- UEFI启动视频详解:启动分析+N项操作实例
- Python爬虫实战一之爬取糗事百科段子
- Ceph rgw CephContext的属性_service_thread
- Avro技术应用_9. 基于记录 - MR 输入/出/中间数据使用 Avro 类型 -- 待完善
- 用K-均值聚类来探索顾客细分
- servlet(简单应用,500和404错误)
- ORACLE基本数据类型总结