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