版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android基础与应用开发教程大连理工大学出版社建立用户界面和使用组件第6章6.1Android的用户界面在Android中可以选用三种办法来组建用户界面:全部用Java代码来构建用户界面,在XML文中定义用户界面,把这两种办法结合起来使用,即在XML中定义用户界面,然后在代码中引用和修改它。为了具体阐明这点,我们组建一个分别使用上述三种办法的用户界面示例。为此,我们先定义一种命名法则。进行UI开发时,经常用到视图(view、组件(control)、小窗体(widget)、容器(container)和布局(layout)等术语。6.2Android的常用组件文本框组件是Android中用到的第一种组件。Android有一套完善的文本框组件,它们是TextView,EditText,AutoCompleteTextView和MultiCompleteTextView组件。6.2.1文本框组件TextView6.2Android的常用组件
1.TextView文本框组件TextView只能显示文本,不能编辑文本。但它与标签不同,TextView组件有一些重要的属性。如autoLink属性设置到某webURL时,该组件就可查找和突显该URL,且当用户单击TextView时,系统将用该URL启动浏览器。实际上,TextView更有意思的应用来自android.text.util.Linkify类Cz7。该类可获取一段文本或正则表达式,并转换为可单击的链接文本:6.2.1文本框组件TextView6.2Android的常用组件2.EditText编辑框组件EditText是TextView的子类,它的文本可以被编辑,但用户一次只能给它输人两段文字。EditText有许多属性,如autoText属性可纠正拼写错误;capitalize属性可控制单词或句子首字符大写;phoneNumber属性可接收指定的电话号码;password属性可设置默认的密码等。EditText组件的默认行为是显示一行文本,并可按需扩展其内容。换言之,如果用户输人超过一行,将会出现另一行。但是若将singleLine属性设置为true,用户就只能输人一行。移动设备的软件是帮助用户快速做决策。因此,希望加亮显示EditText的部分内容。可用静态或动态方式完成这种设置。静态设置是直接在XML文件内给字符串添加标记:6.2.1文本框组件TextView6.2Android的常用组件3.AutoCompleteTextView自动完成文本框组件AutoCompleteTextView组件[3〕是具有自动完成功能的TextView。换言之,当用户给TextView输人文字时,该组件可给用户显示提示信息供选择,如下述代码所示:6.2.1文本框组件TextView6.2Android的常用组件4.MultiAutoCompleteTextView多项自动完成文本框组件6.2.1文本框组件TextView6.2Android的常用组件按钮是窗口小部件(widget工具箱中最常用的组件之一。Android提供了一系列典型的按钮和一些附加部分(extras)。本节讨论三种按钮组件:基本按钮、图像按钮和开关按钮。图6-3是它们的用户界面。顶部的按钮是基本按钮,中间的按钮是图像按钮,而底部的按钮是开关按钮。6.2.2按钮组件6.2Android的常用组件1.基本按钮组件ButtonAndroid中的基本按钮类是android,widget.Button。其主要用途是处理单击事件。2.图像按钮组件ImageButtonAndroid通过android.widget.ImageButton类提供图像按钮。3.开关按钮组件ToggleButtonToggleButton是一个两状态的按钮,即开(On)状态和关(Off)状态。4.复选框组件CheckBox几乎所有窗口小部件工具箱中都有复选框组件5.单选按钮组件RadioButton它给用户提供多种选择,但只能选取其中一个项目。6.2.2按钮组件6.2Android的常用组件AndroidSDK提供了若干种ListView组件,其外貌如图6-6所示,它垂直显示列表中的项目。要使用ListView通常需要编程扩展android.app.ListActivity类建立新活动。ListActivity类中包含ListView,并通过setListAdapter()方法为ListView设置数据。6.2.3列表组件ListView6.2Android的常用组件GridView也是大多数窗口小工具箱和Android中的组件,它用网格形式显示数据(文本和图像等)。GridView同样是在XML布局文件内定义(见代码6-11},然后用android.widget.ListAdapter将数据绑定到网格上。6.2.4网格组件GridView6.2Android的常用组件1.DatePicker和TimePicker组件DatePicker和TimePicker组件分别用于选择日期和时间。6.2.5日期组件Date和时间组件Time6.2Android的常用组件2.AnalogClock模拟时钟组件和DigitalClock数字时钟组件Android还提供了模拟时钟和数字时钟组件AnalogClock和DigitalClock(见图6-10)。6.2.5日期组件Date和时间组件Time6.3Android中其他有趣的组件迄今为止,我们所叙述的都是Android应用程序中最基本的组件。除它们之外,Android还提供了其他有趣的组件。其中值得提及的有地图组件MapView、图片库组件Gallery和下拉菜单组件Spinner。地图组件可显示地图,是com.google.android.maps包内的.MapView类,使用起来比较复杂,我们将在9.3节地图服务中详细介绍。Gallery组件和Spinne:组件类似于list组件,使用时先要获得对它们的引用,然后调用setAdapter()方法写人数据,再对选中的事件注册:6.4Android布局管理器为了布置视图中各组成部分的位置,Android提供了与视图容器行为相似的视图类,即所谓的布局(layout)类或布局管理器(LayoutManager)接口。其中每个都包含具体的类属来管理其子元素的大小和位置。例如LinearLayout类可依次水平或垂直放置其子元素。AndroidSDK中的布局管理器列于表6-2内。6.4Android布局管理器LinearLayout是最常用的布局。这个布局管理器按其orientation(取向)属性的值水平或垂直组织其子元素。下面是水平配置LinearLayout的代码:6.4.1线性布局管理器LinearLayout6.4Android布局管理器1.weight和gravity布局orientation属性是LinearLayout布局管理器首要的属性。此外,还有决定其子组件大小和位置的属性weight(加权)和gravity(重力)。使用weight可确定容器内各组件的相对大小。假定容器内有三个组件:其加权分别为1(最大值),0,n和0。加权为1的组件将占满容器内空余的空间。Gravity本质上是对齐。例如,想要标签内的文本右对齐,可将其gravity设置为right。6.4Android布局管理器1.weight和gravity布局6.4Android布局管理器2.android:gravity和android:layout_gravity6.4Android布局管理器使用TableLayout需要创建它的实例,并把TableRow(行)元素放在其中。然后表格的各个组件再放在TableRow元素中,见代码6-17,其用户界面如图6-13所示。6.4.2表格布局管理器TableLayout6.4Android布局管理器另一个重要的布局管理器是RelativeLayout。这个布局管理器的功能是让容器中的组件参照容器中其他容器或组件进行布局。6.4.3相对布局管理器RelativeLayout6.4Android布局管理器
Android还提供了一种指定组件在容器内精确位置的布局管理器,即所谓的AbsoluteLayout6.4.4绝对布局管理器AbsoluteLayout6.4Android布局管理器6.4.5窗体布局管理器FrameLayout6.5适配器适配器(adapter)具有许多功能,通常它们可以更容易和更灵活地把数据绑定到组件上。Android中的适配器多用来扩展android.widget.AdapterView窗口小工具。可用来扩展AdapterView的类有ListView,GridView,Spinner和Gallery(见图6-20)AdapterView本身实际上是android.widget.ViewGroup的扩展,因此ListView,
GridView等都是容器组件,它们可显示子组件的集合。6.5适配器6.5.1简单游标适配器SimpleCursorAdapter6.5适配器ArrayAdapter类是Android中最简单的适配器,它是专为列表组件设计的,并用TextView组件来显示列表项目。下面是通常创建ArrayAdapter对象的例子:6.5.2数组适配器ArrayAdapter6.5适配器
Android中的适配器很容易使用,但有一定的局限性。为了克服这个缺陷,Android提供了一个抽象基类BaseAdapter,可以扩展它来定制适配器。实际上SDK内的所有适配器都是它的扩展。因此,如果想用扩展的适配器,可考虑在下述适配器中选择:(1)ArrayAdapter}T}:它是建立在任意对象的通用数组上的适配器,与ListView一同使用。(2)CursorAdapter:它通过游标给列表提供数据,也在ListView内使用。(3)SimpleAdapter:简单的适配器,一般将静态数据(可来自资源文件)填人列表。(4)ResourceCursorAdapter:它是CursorAdapter的扩展,可自动从资源创建视图。(5)SimpleCursorAdapter:它是ResourceCursorAdapter的扩展,从游标的列创建TextView或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年03月山东齐商银行济宁分行招考笔试历年参考题库附带答案详解
- 2024-2025学年扬州市仪征市三年级数学第一学期期末经典模拟试题含解析
- 财务会计个人述职报告(合集7篇)
- 2024-2025学年土默特右旗三年级数学第一学期期末经典试题含解析
- 职员辞职申请书(15篇)
- 我有一个想法500字满分写作素材12篇范文
- 单位办公室人员个人工作计划范文5篇
- 2024年荒坡土地承包经营权协议
- 下车间实习报告集锦十篇
- 护士个人工作总结15篇
- 国家开放大学《理工英语3》章节测试参考答案
- 湿法脱硫用水水质要求
- 信息化系统机房标识的相关规范
- 城管局个人工作总结
- MT_T 1186-2020 露天煤矿运输安全技术规范_(高清版)
- 冷库项目专项扶持资金申请报告(模板范本)
- 铂铑合金漏板.
- (完整版)建筑力学(习题答案)
- 少年宫篮球活动教案
- 国有建设企业《大宗材料及设备采购招标管理办法》
- 民间秘术绝招大全
评论
0/150
提交评论