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