5 Android用户界面
第5章 Android用户界面
本章学习目标:
了解各种界面控件的使用方法 掌握各种界面布局的特点和使用方法 掌握选项菜单、子菜单和快捷菜单的使用方法 掌握操作栏和Fragment的使用方法 掌握按键事件和触摸事件的处理方法
5.1 用户界面基础
用户界面(User Interface,UI)是系统和用户 之间进行信息交换的媒介,实现信息的内部形 式与人类可以接受形式之间的转换
在计算机出现早期,批处理界面(1945-1968)和命 令行界面(1969-1983)得到广泛的使用 目前,流行图像用户界面(Graphical User Interface, GUI),采用图形方式与用户进行交互的界面 未来的用户界面将更多的运用虚拟现实技术,使用户 能够摆脱键盘与鼠标的交互方式,而通过动作、语言, 甚至是脑电波来控制计算机
5.1 用户界面基础
Android用户界面框架
Android用户界面框架采 用MVC(Model-ViewController)模型
键盘等输入
控制器(Controller)处理 用户输入 视图(View)显示用户界 面和图像 模型(Model)保存数据和 代码
视图
控制器
绘制界面 模型
更新
5.1 用户界面基础
Android用户界面框架
Android用户界面框架采用 视图树(View Tree)模型
由View和ViewGroup构成 View是最基本的可视单元
ViewGroup
存储了屏幕上特定矩形区域内所显 示内容的数据结构 实现所占据区域的界面绘制、焦点 变化、用户输入和界面事件处理等 一个重要的基类,所有在界面上的 可见元素都是View的子类
View
ViewGroup
View
View
View
View
ViewGroup是一种能够承载含多 个View的显示单元
承载界面布局 承载具有原子特性的重构模块
5.1 用户界面基础
Android用户界面框架
Android用户界面框架采用视 图树(View Tree)模型
Android系统会依据视图树的 结构从上至下绘制每一个界面 元素 每个元素负责对自身的绘制, 如果元素包含子元素,该元素 会通知其下所有子元素进行绘 制
ViewGroup
View
ViewGroup
View
View
View
View
5.1 用户界面基础
Android用户界面框架
单线程用户界面
控制器从队列中获取事件和视图在屏幕上绘制用户界面, 使用的都是同一个线程 特点:处理函数具有顺序性,能够降低应用程序的复杂程 度,同时也能减低开发的难度 缺点:如果事件处理函数过于复杂,可能会导致用户界面 失去响应
5.2 界面控件
常见的系统控件
TextView EditText Button ImageButton Checkbox RadioButton Spinner ListView TabHost
5.2 界面控件
5.2.1 TextView和EditText
TextView是一种用于显示字符串的控件 EditText则
是用来输入和编辑字符串的控件
EditText是一个具有编辑功能的TextView
5.2 界面控件
5.2.1 TextView和EditText
建立一个“TextViewDemo”的程序,包含TextView和 EditText两个控件
上方“用户名”部分使用的是TextView,下方的文字输入 框使用的是EditText
5.2 界面控件
5.2.1 TextView和EditText
TextViewDemo在XML文件中的代码1. 2. 3. 4. 5. 6. 7. 8. 9. 10. <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView01" > </TextView> <EditText android:id="@+id/EditText01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="EditText01" > </EditText>
5.2 界面控件
5.2.1 TextView和EditText
第1行android:id属性声明了TextView的ID,这个ID主要 用于在代码中引用这个TextView对象
“@+id/TextView01”表示所设臵的ID值 @表示后面的字符串是ID资源 加号(+)表示需要建立新资源名称,并添加到R.java文 件中 斜杠后面的字符串(TextView01)表示新资源的名称 如果资源不是新添加的,或属于Android框架的ID资源, 则不需要使用加号(+),但必须添加Android包的命名空 间,例如android:id="@android:id/empty"
5.2 界面控件
5.2.1 TextView和EditText
第2行的android:layout_width属性用来设臵TextView的 宽度,wrap_content表示TextView的宽度只要能够包含 所显示的字符串即可 第3行的android:layout_height属性用来设臵TextView 的高度 第4行表示TextView所显示的字符串,在后面将通过代 码更改TextView的显示内容 第7行中“fill_content”表示EditText的宽度将等于父控 件的宽度
5.2 界面控件
5.2.1 TextView和EditText
TextViewDemo.java文件中代码的修改1. 2. 3. 4.
TextView textView = (TextView)findViewById(R.id.TextView01); EditText editText = (EditText)findViewById(R.id.EditText01); textView.setText("用户名:"); editText.setText("Rajan");
第1行代码的findViewById()函数能够通过ID引用界面上的任何 控件,只要该控件在XML文件中定义过ID即可 第3行代码的setText()函数用来设臵TextView所显示的内容
5.2 界面控件
5.2.2 Button和ImageButton
Button是一种按钮控件,用户能够在该控件上点击,并 后引发相应的事件处理函数 ImageButton用以实现能够显示图像功能的控件按钮
5.2 界面控件
5.2.2 Button和ImageButton
建立一个“ButtonDemo”的程序,包含Button和 ImageButton两个按钮,上方是“Button按钮”,下方 是一个ImageButton控件
…… 此处隐藏:1242字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




