《Android程序设计教程》课件第四章Android用户界面程序设计.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Android程序设计教程》课件第四章Android用户界面程序设计.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android程序设计教程 Android 程序设计 教程 课件 第四 用户界面
- 资源描述:
-
1、让IT教学更简单,让IT学习更有效Android程序设计教程第4章 Android用户界面程序设计目录 4.1 View基础 4.2 界面布局 4.3 Widget简单组件 4.4 Android事件处理 4.5 对话框 4.6 Android常用高级控件 4.7 Fragment基础 68 4.8 资源管理 80学习目标 了解Android中的基本UI元素 能够使用布局管理器对界面进行管理 掌握界面交互事件处理机制及实现步骤 能够熟练使用常用的Widget简单控件 掌握对话框的使用 掌握Android控件控件的使用 能够使用Android系统的资源管理 掌握Fragment控件的使用4.1
2、View基础4.2 界面布局 Android中提供了两种创建布局的方式:(1)在XML布局文件中声明(2)在程序中直接实例化布局及其控件 常见的Android布局方式有:线性布局(LinearLayout)相对布局(RelativeLayout)表格布局(TableLayout)网格布局(GridLayout)绝对布局(AbsoluteLayout)框架布局(FrameLayout)扁平化布局(ConstraintLayout)4.2.1 线性布局 LinearLayout是一种线性排列的布局,布局中的控件按照水平(horizontal)或垂直(vertical)两种方向排列。4.2.2 相对
3、布局 RelativeLayout是一组相对排列的布局方式,在相对布局容器中子控件的位置总是相对于兄弟控件或父容器4.2.3 表格布局 TableLayout类似于表格形式,以行和列的方式来布局子控件。在TableLayout布局中,可以通过以下三种方式对单元格进行设置。(1)Shrinkable:如果某个列被设置为Shrinkable,那么该列中所有单元格的宽度都可以被收缩,以保证表格能适应父容器的宽度。(2)Stretchable:如果某个列被设置为Stretchable,那么该列中所有单元格的宽度都可以被拉伸,以保证控件能够完全填满表格的空余空间。(3)Collapsed:如果某个列被设
4、置为Collapsed,那么该列中所有单元格都会被隐藏。4.2.4 绝对布局 绝对布局是通过指定x、y坐标来控制每一个控件的位置,放入该布局的控件需要通过android:layout_x和android:layout_y两个属性指定其在屏幕上确切的位置。把屏幕看作一个坐标轴,左上角为(0,0),往屏幕下方为y正半轴,右方为x正半轴。4.2.5 框架布局 框架布局(FrameLayout)又称帧布局,是Android布局中最简单的一种,框架布局为每个加入其中的控件创建了一块空白区域。采用框架布局的方式设计界面时,只能在屏幕左上角显示一个控件,如果添加多个控件,这些会依次重叠在屏幕左上角显示,且会
5、透明显示之前的文本。4.2.6 网格布局 网格布局(GridLayout),是Android4.0新增的布局管理器,因此需要在4.0之后的版本才能使用。它的作用类似于table(表格),它把整个容器划分为rowscolumns个网格,每个网格可以放置一个组件。GridLayout提供了setRowCount(int)和setColumnCount(int)方法来控制该网格的行数量和列数量。4.3 Widget简单组件4.3.1 文本文本控件控件 文本控件主要包括TextView控件和EditText控件。其中TextView控件继承自View类,其主要功能是向用户显示文本内容,同时可选择性地让
6、用户编辑文本。从功能上来说,一个TextView就是一个完整的文本编辑器,只不过其本身被设置为不允许编辑,其子类EditText被设置为允许用户对内容进行编辑。4.3.2 Button和开关和开关控件控件 Button是常用的普通按钮控件,用户能够在该控件上点击,引发相应的响应事件。ToggleButton和Switch都是选择类型的按钮,具有选中和未选中两种状态。4.3.3 ImageButton和ImageView控件 ImageView继承自View组件,它的主要功能是用于显示图片,除此之外,ImageView还派生了ImageButton、ZoomButton等组件,因此ImageVi
7、ew支持的XML属性、方法,基本上也可以应用于ImageButton,ZoomButton等组件。4.3.4 RadioButton和RadioGroup控件 RadioGroup是单选按钮组,是一个允许容纳多个RadioButton的容器。在没有RadioGroup的情况下,RadioButton可以分别被选中;当多个RadioButton同一个RadioGroup按钮组中,RadioButton只允许选择其中之一。RadioButton和RadioGroup的关系如下:(1)RadioButton表示单个圆形单选框,RadioGroup是一个可以容纳多个RadioButton的容器。(2)
8、同一个RadioGroup中,只能有一个RadioButton被选中;不同的RadioGroup中,RadioButton互不影响。(3)通常情况下,一个RadioGroup中至少有2个RadioButton。一般一个RadioGroup组中,会默认有一个RadioButton被选中,并将其放置在RadioGroup的起始位置。4.3.5 CheckBox复选框 CheckBox复选框是一种具有双状态的按钮,具有选中或者未选中两种状态。CheckBox和RadioButton的主要区别如下:(1)RadioButton单选按钮被选中后,再次单击时无法改变其状态;而CheckBox复选框被选中后
9、,可以通过单击来改变其状态。(2)在RadioButton单选按钮组中,只允许选中一个;而在CheckBox复选框组中,允许同时选中多个。(3)大部分UI框架中默认RadioButton以圆形表示,CheckBox都以正方形表示。4.4 Android事件处理 Android提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理。对于基于监听器的事件处理主要是为Android界面组件绑定特定的事件监听器;对于基于回调的事件处理,主要是重写Android构件特定的回调函数,Android大部分界面组件都提供了事件响应的回调函数,只需要重写就可以。4.4.1 基于监听的事件处理 Andr
10、oid系统中引用了Java事件处理机制,包括事件、事件源和事件监听器三个事件模型,与基于回调的事件处理相比,更具有“面向对象”性质的事件处理方式。事件(Event):这是一个描述事件源状态改变的对象,事件对象不是通过new运算符创建的,而是在用户触发事件时由系统生成的对象。事件包括键盘事件、触摸事件等,一般作为事件处理方法的参数,以便从中获取事件的相关信息。事件源(Event Source):产生事件的来源,通常是各种组件,如按钮等。事件监听器(Event Listener):负责监听事件源发生的事件,并对不同的事件做相应的处理。在程序中实现事件监听器,通常有以下四种形式:(1)Activit
11、y本身作为事件监听器:通过Activity实现监听器接口,并实现事件处理方法。(2)匿名内部类形式:使用匿名内部类创建事件监听器对象。(3)内部类或外部类形式:将事件监听类定义为当前类的内部类或普通的外部类。(4)绑定标签:在布局文件中为指定标签绑定事件处理方法。通常实现基于监听的事件处理步骤如下:(1)创建事件监听器。(2)在事件处理方法中编写事件处理代码。(3)在相应的组件上注册监听器。4.4.2基于回调机制的事件处理 基于回调机制的事件主要有onKeyDown()方法、onKeyUp()方法、onTouchEvent()方法、onTrackBallEvent()方法、onFocusCha
12、nged()方法。onKeyDown()方法是接口KeyEvent.Callback中的抽象方法,所有的View全部实现了该接口并重写了该方法,该方法用来捕捉手机键盘被按下的事件。方法的声明格式如下所示:public boolean onKeyDown(int keyCode,KeyEvent event)onKeyUp()同样是接口KeyEvent.Callback中的一个抽象方法,并且所有的View同样全部实现了该接口并重写了该方法,onKeyUp()方法用来捕捉手机键盘按键抬起的事件,方法的声明格式如下所示:public boolean onKeyUp(int keyCode,KeyEv
13、ent event)onTouchEvent()方法是手机屏幕事件的处理方法。该方法在View类中定义,并且所有的View子类全部重写了该方法,应用程序可以通过该方法处理手机屏幕的触摸事件。该方法的声明格式如下所示:public boolean onTouchEvent(MotionEvent event)onTrackBallEvent是手机中轨迹球的处理方法。所有的View同样全部实现了该方法。该方法的声明格式如下:public boolean onTrackballEvent(MotionEvent event)onFocusChanged()方法只能在View中重写,该方法是焦点改变的
14、回调方法,当某个控件重写了该方法后,当焦点发生变化时,会自动调用该方法来处理焦点改变的事件。该方法的声明格式如下。protected void onFocusChanged(boolean gainFocus,int direction,Rect previously FocusedRect)4.5 对话框 1、提示对话框AlertDialog AlertDialog对话框可以包含若干按钮(04个不等)和一些可选的选项,一般包括普通对话框、列表对话框、单选按钮和复选框对话框。一般来说,AlertDialog的功能能够满足常见的对话框用户界面的需求。2、进度对话框ProgressDialog P
展开阅读全文