View和ViewGroup
来源:互联网 发布:淘宝账号贷款秒批 编辑:程序博客网 时间:2024/05/22 08:17
View和ViewGroup
Android的UI界面都是由View和ViewGroup及其派生类组合而成的。其中,View是所有UI组件的基类,而 ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的。View对象是Android平台中用户界面体现的基础单位。View类是它称为“widgets(工具)”的子类的基础,它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。ViewGroup类同样为其被称为“Layouts(布局)”的子类奠定了基础,它们提供了象流式布局、表格布局以及相对布局之类的布局架构。一般来说,开发Android应用程序的UI界面都不会直接使用View和ViewGroup,而是使用这两大基类的派生类。
View和ViewGroup最重要的几个方法:
1.protected void onDraw(Canvas canvas):View类中用于重绘的方法,这个方法是所有View、ViewGroup及其派生类都具有的方法,也是Android UI绘制最重要的方法。开发者可重载该方法,并在重载的方法内部基于参数canvas绘制自己的各种图形、图像效果。
2.protected void onLayout(boolean changed, int left, int top, int right, int bottom):View类中布局发生改变时会调用的方法,这个方法是所有View、ViewGroup及其派生类都具有的方法,重载该类可以在布局发生改变时作定制处理,这在实现一些特效时非常有用。
3.protected void dispatchDraw(Canvas canvas):ViewGroup类及其派生类具有的方法,这个方法主要用于控制子View的绘制分发,重载该方法可改变子View的绘制,进而实现一些复杂的视效,典型的例子可参见Launcher模块Workspace的dispatchDraw重载。
4.protected boolean drawChild(Canvas canvas, View child, long drawingTime)):ViewGroup类及其派生类具有的方法,这个方法直接控制绘制某局具体的子view,重载该方法可控制具体某个具体子View。
5.addView方法这个方法是用来想View容器中添加组件用的。我们可以使用这个方法想这个ViewGroup中添加组件。
6.getChildAt方法 这个方法用来返回指定位置的View。
注意:ViewGroup中的View是从0开始计数的。
View在屏幕上显示出来要先经过measure(计算)和layout(布局).
onMeasure(int, int) View会调用此方法,来确认自己及所有子对象的大小
onLayout(boolean, int, int, int, int, int, int) 当View要为所有子对象分配大小和位置时,调用此方法
onSizeChanged(int, int, int, int) 当View大小改变时,调用此方法
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
- View和ViewGroup
- View和ViewGroup
- View和 ViewGroup
- View和ViewGroup
- 关于view和viewgroup
- View和ViewGroup详解
- view和viewgroup
- Android View和ViewGroup
- Android View和ViewGroup
- 方形View和ViewGroup
- View 和ViewGroup
- 初学view和viewgroup
- ViewGroup和View
- 自定义View和ViewGroup
- 自定义View和ViewGroup
- View和ViewGroup
- View 和ViewGroup
- 【Android】View和ViewGroup
- java注册时向指定邮箱发送邮件激活
- 1.4 eclipse 第一个java程序 Hello World
- 分布式事务、基于Best Efforts 1PC模式的事务
- i2c协议理解
- filebeat接入数据kafka
- View和ViewGroup
- unexcepted token 错误和XXX is not a function错误的解决办法
- 如何实施代码重构
- Java关于数据结构的实现:散列
- 布尔表达式
- html5标签大全
- java反射机制的作用与优点
- Java——HashSet和TreeSet的区别
- 使用独立的HTML文件的URL服务,并在其中引用服务器中的图片