基于安卓手持设备的手机应用编程——用户界面

这篇博客主要介绍了Android用户界面的构建,包括View类的重要性及其子类Button、ToggleButton、CheckBox、RatingBar和AutoCompleteTextView的功能。还讨论了事件处理、ViewGroup、预定义的ViewGroup如RadioGroup、TimePicker等,以及各种布局如LinearLayout、RelativeLayout和TableLayout。此外,还涵盖了菜单、工具栏和对话框的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此为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。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值