智能终端软件设计及开发实验二
更新时间:2023-11-14 18:29:01 阅读量: 教育文库 文档下载
- 智能终端软件设计与应用推荐度:
- 相关推荐
昆明理工大学信息工程与自动化学院学生实验报告
( 2013 — 2014 学年 第 1 学期 )
课程名称:智能终端软件设计及开发 开课实验室:信自楼444机房 2013 年11月 4日 年级、专业、班 计科101 学号 201010803116 姓名 实验项目名称 教师评Android用户界面设计与开发 A.了解□ A.强 □ A.达到□ A.规范□ A.详细□ 李力 成绩 指导教师 游进国 C.不了解□ C.差 □ C.未达到□ C.不规范□ C.没有 □ 该同学是否了解实验原理: 该同学的实验能力: 该同学的实验是否达到要求: 实验报告是否规范: 实验过程是否详细记录: B.基本了解□ B.中等 □ B.基本达到□ B.基本规范□ B.一般 □ 语 教师签名: 年 月 日 一、上机目的及内容
1.上机内容
Android用户界面设计与开发。
请参考下图中界面控件的摆放位置,分别使用线性布局、相对布局和绝对布局实现用户界面,并
对比各种布局实现的复杂程度和对不同屏幕尺寸的适应能力。然后选择一种布局方式,在程序中添加4个按钮的事件处理函数,使用LogCat将捕获的按钮事件显示在Eclipse的控制台中。
2.上机目的
(1)学习并熟悉Android用户界面;
(2)能够基于Android平台初步进行用户界面设计与开发。
-1-
二、实验原理及基本技术路线图(方框原理图或程序流程图)
2.1使用Eclipse建立一个Android程序;
2.2分别使用线性布局、相对布局和绝对布局实现用户界面进行界面布局;
2.3选择一种布局方式,在程序中添加4个按钮的事件处理函数,使用LogCat将捕获的按钮事件
显示在Eclipse的控制台中。
2.4线性布局
线性布局是最简单,Android开发者使用得最多的布局类型之一,开发者用它来组织你们的用户界面上的控件。线性布局的作用就像它的名字一样:它将控件组织在一个垂直或水平的形式。当布局方向设置为垂直时,它里面的所有子控件被组织在同一列中;当布局方向设置为水平时,所有子控件被组织在一行中。
(1)线性布局的重要特性和属性 ◆方向属性(必须),取值可以是vertical或horizontal(类:LinearLayout) ◆对齐属性(可选),控制子控件在线性布局中如何排列和显示(类:LinearLayout)
◆layout_weight属性(可选,应用到每个子控件)指定每个子控件在父级线性布局中的相对重要性(类:LinearLayout.LayoutParams)
此外,通用的ViewGroup-style属性也应用到线性布局。这些属性包括: ◆通用布局参数如layout_height (必须)和layout_width (必须) (类:ViewGroup.LayoutParams) ◆边距布局参数如margin_top,margin_left,margin_right和margin_bottom (类:ViewGroup. MarginLayoutParams)
◆布局参数如layout_height和layout_width (类:ViewGroup.LayoutParams) (2)给子控件赋权
绝大部分线性布局的属性都是自明性的。然而layout_weight属性需要一些额外的讨论。与其它线性布局属性不同,其它属性应用在线性布局视图本身,而这个属性是应用在它的子控件上的。权值本身应该是一个数字(比如0.5,0.25,0.10,0.10,0.05),如果你把所有子控件的权值加起来等于1(100%)。
子控件的权值控件它在父线性布局中有多“重要”或者留给其多少“空间”。这一点最好通过例子来说明。让我们回到我们前面用的彩虹线性布局。为了允许所有子控件相同地“拉伸”填充线性布局,不管屏幕的大小,我们使用layout_weight来对每个TextView赋予相对权值。因为有7种我们想赋相同权值的颜色,我们将1除以7大约得到0.143.然而,既然我们想要权值之和最后为1,因此5个控件权值设为0.14,另外两个为0.15——一个微小的区别使得总和刚刚好为1,但是这对于第一个和最后一个控件来说还是很明显的。
当屏幕上有足够空间来正确的展示所有控件的时候,这个权值技巧很有效。那就是说,当空间很紧的时候,权值属性可能会被其它因素覆盖,比如视图裁剪或者在TextView下试图不环绕文本。当我们改变rainbow.xml布局文件以包含相似水平布局(layout_height 还是设置为 fill_parent)的时候,这变得很明显。
Android程序用户界面使用布局来定义,而线性布局是最基本的布局类型之一。线性布局允许子控件被组织在一行或一行(水平)或一列(竖直)上。子控件的位置可以使用对齐和权值属性进一步设置。
2.5相对布局
除了将控件显示在一行或一列的线性布局,相对布局也是Android用户界面设计使用得很普遍的布局类型。和其它布局很相似,相对布局可以通过XML布局资源来定义也可以用Java程序来定义。相对布
-2-
局的功能就像它的名字表达的一样:它相对其它控件或父控件本身来组织控件。
(1)相对布局的重要特性和属性
◆用于子控件在父布局中居中的规则,包括:水平居中,垂直居中,或者两者皆居中。 ◆用于子控件在父布局中排布的规则,包括:在顶部,底部,左,右边缘放置。
◆用于子控件相对于其它子控件排布的规则,包括:在另一个控件顶,底,左,右边缘放置。 ◆用于子控件相对于其它子控件放置的规则,包括:在另一个控件上面,底下,左边或右边放置。 同样的,通用的 ViewGroup-style属性也可以应用于相对布局。这些属性包括: ◆通用布局参数比如layout_height(必须)和layout_width(必须)(类:ViewGroup.LayoutParams) ◆边距布局参数比如margin_top, margin_left, margin_right和margin_bottom (类:ViewGroup. MarginLayoutParams)
布局参数比如layout_height和layout_width (类:ViewGroup.LayoutParams) (2)相对布局使用技巧
◆这里是一些使用相对布局的技巧。
◆相对布局的子控件必须有唯一的id属性以使规则正确应用。 ◆当心循环规则。循环规则发生在两个控件具有互相指向的规则时。如果你在布局设计中使用了循环规则,你将会得到以下错误信息:
IllegalStateException: Circular dependencies cannot exist in a RelativeLayout(相对布局中不允许存在循环依赖)
◆回忆一下相对布局规则的应用被一次处理是很有用的
◆保持你的相对布局规则最小化。这减小了循环规则的机率并且使得你的布局更加可维护和灵活。 ◆一般地,记住测试一下你的布局设计在横屏和竖屏模式下,以及在不同的屏幕大小和解决方案下是不是符合预期的。
◆使用相对布局代替嵌套线性布局以改进程序性能和响应能力。
Android程序用户界面使用布局来定义,相对布局是用于使得程序屏幕更加灵活和强大的布局类型之一。相对布局允许子控件相对于其它子控件和相对于父控件(边缘以及水平和垂直居中)来组织。一旦你掌握了如何使用相对布局的规则,它们可以有非常多的用处,使你能够创建复杂布局,而不需要过多嵌套不同的布局,因此也改进了性能。
2.6绝对布局
绝对布局(AbsoluteLayout)是指一个ViewGroup以绝对方式显示它的子视图(View)元素,即以坐标的方式来定位在屏幕上位置。这种布局方式很好理解,在布局文件中编程设置View的坐标,从而绝对地定位。
AbsoluteLayout可以让子元素指定准确的x和y坐标值,并显示在屏幕上。其中坐标(0, 0)为左上角,当向下或向右移动时,坐标值将变大。AbsoluteLayout没有页边框,允许元素之间互相重叠(尽管不推荐)。我们通常不推荐使用AbsoluteLayout,除非有正当理由使用它,因为它会使界面代码太过刚性,以至于在不同的设备上可能不能很好地工作。
具体实现
使用Eclipse创建一个名为“004”的Android工程。
编写布局文件“res/layour/main.xml”,代码如下所示。
-3-
android:layout_height=\>
android:layout_width=\android:layout_height=\android:layout_x=\android:layout_y=\
< /AbsoluteLayout>
执行效果如图:
三、所用仪器、材料(设备名称、型号、规格等或使用软件)
1台PC及Eclipse 4.2、ADT 22.0开发软件
四、实验方法、步骤(或:程序代码或操作过程)
1. 界面布局结果如图,如下
-4-
线性布局代码:
android:paddingBottom=\ android:paddingLeft=\ android:paddingRight=\ android:paddingTop=\ android:visibility=\ tools:context=\ android:layout_width=\ android:layout_height=\ android:orientation=\ android:visibility=\ > android:layout_width=\ android:layout_height=\ android:text=\ /> android:id=\ android:layout_height=\ android:layout_weight=\ /> android:layout_width=\ android:layout_height=\ android:orientation=\ android:visibility=\ > android:layout_width=\ android:layout_height=\ android:text=\ /> android:id=\ android:layout_height=\ android:layout_weight=\ /> android:layout_width=\ android:layout_height=\ -5-
正在阅读:
智能终端软件设计及开发实验二11-14
全国英语水平一级考试模拟题07-24
上海市城市规划管理技术规定-2011版05-14
《叶圣陶教育文集》 读后感10-28
网络经济时代的管理变革10-17
购销合同分合同长期供货03-12
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 智能终端
- 实验
- 开发
- 设计
- 软件
- 学校图书室管理制度
- 高考英语二轮复习专题限时训练(江苏专用)专题2 阅读理解15
- 沥青路面面层用集料技术要求
- 精细化管理工会制度文件(原稿) - 图文
- “学团史、知团情、跟党走”知识竞赛题型、分数设计及题库
- 关于集体备课的做法和感想
- 2018年连云港市中考数学试题有答案
- 异丁烯的产业链分析
- 2013~2014第1学期电工学1-1A参考答案及评分标准
- 公司数据灾难备份及恢复应急预案
- TUXEDO应用系统的配置
- 2016年河北省对口高考英语(涿职陈琢印)
- 路基土石方调配方案 -
- 物业公司管理制度
- 《会计学原理》复习题及参考答案 - 3
- 对外汉语教学概论 知识点整理修正版
- 关于虚假收入的案例
- 几何13立体图形和空间想象
- linux下C语言实现文件拷贝
- 网络信息制作与发布