《疯狂Android讲义》读书笔记2.Android应用的界面编程

来源:互联网 发布:河南微创网络 编辑:程序博客网 时间:2024/05/16 07:19

第2章 Android应用的界面编程

2.1 界面编程与视图组件
View(视图)与ViewGroup(容器)
XML控制UI、代码控制UI、XML和代码混合控制UI
开发自定义View 继承View并重写方法

2.2 布局管理器
LinearLayout 线性布局
TableLayout 表格布局
FrameLayout 帧布局
RelativeLayout 相对布局
GridLayout 网格布局
AbsoluteLayout 绝对布局 (过时)

Android的View和UI组件不是线程安全的,所以Android不允许开发者启动线程访问用户界面的UI组件

2.3 TextView及其子类
TextView 文本框 CheckedTextView
EditText 编辑框
Button 按钮
RadioButton 单选按钮 RadioGroup
CheckBox 复选框
ToggleButton 状态开关按钮
Switch 开关
AnalogClock DigitalClock 时钟
Chronometer 计时器

用XML文件定义文本框的背景
使用9Patch图片作为按钮背景

2.4 ImageView及其子类
ImageView
ImageButton 图片按钮
ZoomButton ZoomControls
QuickContactBadge 显示关联到特定联系人的图片

2.5 AdapterView及子类
ListView 列表视图 ListActivity
GridView 网格视图
ExpandableListView 可展开的列表组件
Spinner 列表选择框
Gallery 画廊视图,不推荐
AdapterViewFlipper,可用于实现自动播放的图片库
StackView 堆叠视图

Adapter接口及实现类
ArrayAdapter 继承BaseAdapter
SimpleAdapter 继承BaseAdapter
BaseAdapter,用于被扩展

1.创建Adapter
2.调用AdapterViewsetAdapter(adapter)方法设置Adapter

将数组作为资源
AutoCompleteTextView 自动完成文本框

2.6 ProgressBar及其子类
ProgressBar 进度条
SeekBar 拖动条
RatingBar 星级评分条

requestWindowFeature(Window.FEATURE_PROGRESS); // 显示在标题上的进度条

2.7 ViewAnimator及其子类
ViewSwitcher 视图切换组件,如实现分屏、左右切换效果
ImageSwitcher 图像切换器
TextSwitcher 文本切换器
ViewFlipper 组件切换
View, ImageView, TextView, AdapterViewFlipper相比,侧重切换时的动画效果
***Switcher是两个View之间切换,***Flipper是多个View之间切换

2.8 各种杂项组件
使用Toast显示提示信息框,可setView但不建议
CalendarView 日历视图
DatePicker TimePicker 日期、时间选择器
NumberPicker 数值选择器
SearchView 搜索框
TabHost 选项卡 使用TabActivity(不推荐)对布局id有要求
ScrollView HorizontalScrollView 滚动视图,可嵌套使用
Notification 通过NotificationManager发送

2.9 对话框
AlertDialog 弹出型对话框
PopupWindow 用于浮动显示内容
DatePickerDialog TimePickerDialog 日期、时间选择对话框
ProgressDialog 进度对话框

可将Activity的风格设为对话框风格, @android:style/Theme.Dialog
即该Activity就是对话框

2.10 菜单
Menu SubMenu 菜单,子菜单
PopupMenu 弹出式菜单 (与下拉列表不同)
选项菜单(按菜单键显示菜单),上下文菜单(长按组件显示菜单)

使用监听器来监听菜单事件(不推荐)
创建复选菜单项和单选菜单项
通过setIntent设置与菜单项关联的Activity
使用XML文件定义菜单(推荐)

2.11 使用活动条
ActionBar 活动条 可隐藏
使用ActionBar显示选项菜单
启用程序图标导航,如在图标上添加向左箭头
可在ActionBar上显示自定义View
ActionBar结合Fragment实现Tab导航或下拉式导航

0 0
原创粉丝点击