概述
此为coursera课程Programming Mobile Applications for Android Handheld Systems: Part 1的笔记
这一讲为用户界面内容介绍。
用户界面是使用者和应用进行交互的方式。Android提供了若干构建用户界面的类。
View类。
View类是构成UI组件的重要内容,它在屏幕上提供矩形区域,并负责自身绘制和处理相关事件。
下面介绍几种android中的预定义View。
Button、ToggleButton、CheckBox、RatingBar、AutoCompleteTextView。
ToggleButton类似于开关,拥有两个状态,具有状态指示器。
CheckBox也具有两个状态,通常在选择菜单中出现。
RatingBar用于用户对事物评级。
AutoCompleteTextView带自动补齐功能的输入框。
以上这些View的功能主要有三:
1、设置是否可现(Button)
2、设置状态(ToggleButton、CheckBox)
3、设置监听器监听事件,设置属性等
处理View事件
处理事件的一种方式是使用listenter。android定义了一系列不同类型的监听器接口,这些接口有对应的方法在相应事件发生时调用。
android的View组织形式为树形结构,当android绘制这些视图时,会遍历树形结构若干次。
用户可以创建自定义View子类,此时需要重写绘制的相关方法,如onMeasure、onLayout、onDraw方法。
ViewGroup
android提供ViewGroup作为其他View和ViewGroup的容器。ViewGroup是View container和layout的基类。
android提供一系列预定义的ViewGroup,比如RadioGroup,TimePicker,DatePicker,WebView,MapView,Gallery和Spinner。
RadioGroup包含多个CheckBox或RadioButton。
TimePicker允许用户选择一个指定的时间。
同理,DatePicker允许用户选择一个指定的日期。
WebView用于显示网页,MapView用于显示地图信息。
AdapterView中的Views的数据不是由ViewGroup本身管理,而是由Adapter管理。
AdapterView只负责显示得到的数据。如ListView,AdapterView列出一系列可选的项,这些项由ListAdapter管理,形式类似于AutoCompleteTextView。
Spinner也是一个AdapterView,功能为下拉列表,数据由SpinnerAdapter提供。
Gallery的数据也有SpinnerAdapter提供,功能为可横向滑动的相册功能。
AdapterView显示一组数据,而Layout也是一种ViewGroup,用来定义View和View的组织形式。
LinearLayout使其下的View和ViewGroup在一行或列内排列。
在XML文件中所拥有的属性有android:layout_width,android:layout_height,android:layout_weight(该部件所占比例),android:orientation等。
RelativeLayout中子视图的位置为相对位置而不是绝对位置。
TableLayout子视图按表格排列,具有按行排列的TableRow标签,该标签中的子标签按列排列。android:gravity可标定对齐方式。
GridView是一种网格Layout。
菜单和工具栏
菜单是提供用户使用重要功能的方法,Activity为菜单添加项,并处理点击事件。
三种类型的Menu:options、context、submenu。
options:普通类型menu。
context:一般为长按后弹出的menu。
submenu:二级菜单,如删除操作时的确认动作。
创建菜单过程
首先在res/menu中定义XML文件。
当用户点击菜单键时,android调用如onCreateOptionsMenu。
当用户点击菜单中的某项时,android调用onOptionsMenuItemSelected。
菜单还有一些其他高级功能。
工具栏
在android3.0后加入,提供一些通用操作的快速接入;另一个用途是提供视图之间的切换,即TAB,每个TAB对应一个fragment。
对话框
对话框是用于用户和Activity短交互的窗口,包含AlertDialog、ProgressDialog、DatePickerDialog、TimePickerDialog。
最后
以上就是耍酷黄豆为你收集整理的基于安卓手持设备的手机应用编程——用户界面 的全部内容,希望文章能够帮你解决基于安卓手持设备的手机应用编程——用户界面 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复