http://blog.csdn.net/Android_Tutor/archive/2009/11/01/4755291.aspx
Activity
- Android应用 程序 基本功能 单元
- 本身没有任何屏幕存在
View 和 Viewgroup
- 表示在Android 平台 上的基本用户界面 单元
Views
-
- android .view.View
Ø 为指定的屏幕矩形区域存储布局和内容
Ø 处理尺寸和布局,绘制,焦点改变,翻屏,按键、手势
Ø widget基类
- android .view.View
Viewgroups
-
- android.view.Viewgroup
Ø 包含并管理下级系列的Views 和其他 Viewgroup
Ø 布局的基类
- android.view.Viewgroup
UI树状结构
-
- Android中的 Activity
Ø 定义 使用一个view 和 Viewgroup 的树状节点 - setContentView() 方法
Ø 被Activity 调用来把树状节点连接到屏幕渲染
- Android中的 Activity
Layout Params (布局参数 )
-
- 每一个viewgroup 类使用一个继承于 ViewGroup.LayoutParams 的嵌套类
Ø 包含定义了子节点View 的尺寸和位置的属性类型
普通布局对象
FrameLayout
-
-
最简单的布局对象
-
在屏幕上故意保留的空白空间,你可以之后填充一个单独的对象
-
例如:一个你要更换的图片
-
所有子元素都钉到屏幕的左上角
-
不能为子元素指定位置
-
LinearLayout
-
- 在一个方向上( 垂直或水平 ) 对齐所有子元
Ø 所有子元素一个跟一个地堆放
-
-
一个垂直列表每行将只有一个子元素( 无论它们有多宽 )
-
一个水平列表只是一列的高度(最高子元素的高度来填充)
-
TableLayout
-
-
把子元素放入到行与列中
-
不显示 行、列或是单元格边界线
-
单元格不能横跨行,如HTML 中一样
-
AbsoluteLayout
-
-
使子元素能够指明确切的X/Y 坐标显示在屏幕上
Ø (0,0)是左上角
-
Ø 当你下移或右移时,坐标值增加
-
-
允许元素重叠( 但是不推荐 )
-
注意:
-
Ø 一般建议 不使用AbsoluteLayout 除非你有很好的理由来使用它
Ø 因为它相当严格并且在不同的设备显示中不能很好地工作
RelativeLayout
-
-
让子元素指定它们相对于其他元素的位置( 通过 ID 来指定 ) 或相对于父布局对象
-