1. UI的理解
全称user interface, 意为: 用户界面
UI由View和ViewGroup组成
View类是所有视图(包括ViewGroup)的根基类
View在屏幕上占据一片矩形区域, 并会在上面进行内容绘制
ViewGroup包含一些View或ViewGroup, 用于控制子View的布局
事件模型:
设置监听器: view.seton…Listener(listener)
2. 常用的UI组件
2.1. 简单UI组件
1). TextView : 文本视图
2). EditText : 可编辑的文本视图
3). Button : 按钮
4). ImageView : 图片视图
5). CheckBox : 多选框
6). RadioGroup/RadioButton : 单选框
2.2. 菜单Menu
1). OptionMenu
1. 如何触发Menu的显示?
点击menu键
2. 如何向Menu中添加MenuItem?
重写onCreateOptionMenu()
menu.add()或者加载菜单文件
3. 选择某个MenuItem时如何响应?
重写onOptionsItemSelected(), 根据itemId做响应
2). ContextMenu
1. 如何触发Menu的显示?
长按某个视图
view.setOnCreateContextMenuListener(this)
2. 如何向Menu中添加MenuItem?
重写onCreateContextMenu()
menu.add()
3. 选择某个MenuItem时如何响应?
重写onContextItemSelected(), 根据itemId做响应
2.3. 进度条
1). ProgressBar
a. 圆形
b. 水平
2). SeekBar
2.4. 对话框
1). API结构
2). AlertDialog
a. 一般的
b. 自定义布局的
动态加载布局文件得到对应的View对象
设置View
c. 带单选列表的
3). ProgressDialog
a. 圆形进度
b. 水平进度
线程
1). 启动分线程
2). 根据id查找View对象
a. 查找当前界面中的View对象: findViewById(id)
b. 查找某个View对象的子View: view.findViewById(id)
3). 更新视图
a. 不能在分线程直接更新UI: toast不能在分线程显示, 但ProgressDialog可以在分线程更新
b. 长时间的工作只能放在分线程执行