这几天学习,经常看见View,ViewGroup,还有什么LayoutInflater,遂回头看看当初学的东西。
屏幕元素层次结构
android应用程序基本的功能单位是 Activity-android.app.Activity ,一个activity可以许多的事情,但是它自身不存在于屏幕上。为了让你的activity有屏幕显示并且能设计她的UI,你与要用到 Views and Viewgroups -android平台上 用户界面表达 的 基本单位。
Views
一个View是基类 android.view.View 里的一个对象。她是一个数据结构,其属性是存储布局和屏幕的特定矩形区域内的内容。
一个View的对象,能够处理测量和布局(我想是布局的位置如何确定的意思吧),绘制,焦点的改变,滚动,以及屏幕上手势的操作。
View这个类作为 widgets的基类—有一整套完整的实现好的子类能绘制屏幕交互所需要的元素。那些 Widgets(控件)处理自己的测量和绘图,所以你可以更加快捷的构建你自己的UI。可用的小控件包含:Text,EditText,inputMethod,MovementMethod,Button,RadioButton……
ViewGroup
一个viewgroup是类 android.view.ViewGroup里的一个对象。正如其名称所示,一个 viewgroup是一个特殊类型的视图对象,她的功能是包含和管理其归属的views和其他viewgroups,Viewgruop能够让你的UI添加结构体(我的理解是嵌套Viewgroup),建立复杂的屏幕元素(就是view多多),
Viewgroup作为layout的基类—也是一套完整的实现好的子类,提供了屏幕布局的常见类型。那些layout提供给你,再用前面所说的一套views去建立你的视图结构。
A Tree-Structured UI
LayoutParams:how a Child Specifies its Positiob and Size
每一个viewgroup的类里面都有一个 内部类继承ViewGroup.layoutParams.
推荐链接,说的还可以:http://byandby.iteye.com/blog/816718