Android移动开发基础案例教程-(2)课件.pptx

上传人(卖家):三亚风情 文档编号:2941939 上传时间:2022-06-13 格式:PPTX 页数:74 大小:2.52MB
下载 相关 举报
Android移动开发基础案例教程-(2)课件.pptx_第1页
第1页 / 共74页
Android移动开发基础案例教程-(2)课件.pptx_第2页
第2页 / 共74页
Android移动开发基础案例教程-(2)课件.pptx_第3页
第3页 / 共74页
Android移动开发基础案例教程-(2)课件.pptx_第4页
第4页 / 共74页
Android移动开发基础案例教程-(2)课件.pptx_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、Android移动开发基础案例教程第2章 Android UI开发 常用对话框 程序调试 布局的类型 常用控件 简要说明Android体系结构中每个层次的功能。 简要说明模拟器的创建过程。作业点评 Android常用布局 Android常用控件预习检查2.4 常见对话框 2.1 布局的创建 2.2 布局的类型2.3 常用控件 主讲内容第第1部分部分第第2部分部分第第1部分部分第第2部分部分第第3部分部分布局的创建关于布局关于布局 在Android程序中界面是通过布局文件设定的,在每个应用程序创建时会默认包含一个主界面布局,该布局位于res/layout目录中。 实际开发中每个应用程序都包含多个

2、界面,而程序默认提供的一个主界面布局无法满足需求,因此经常会在程序中添加多个布局。布局的创建关于布局布局的创建步骤2.4 常见对话框 2.1 布局的创建 2.2 布局的类型2.3 常用控件 主讲内容五种常用布局五种常用布局线性布局线性布局相对布局相对布局帧布局帧布局表格布局表格布局绝对布局绝对布局特点:以水平或垂直方向排列特点:以水平或垂直方向排列特点:通过相对定位排列特点:通过相对定位排列特点:开辟空白区域,帧里的特点:开辟空白区域,帧里的 控件控件(层层)叠加叠加特点:表格形式排列特点:表格形式排列特点:通过特点:通过x,y坐标排列坐标排列五种常用布局线性布局 线性布局(LinearLay

3、out)主要以水平或垂直方式来显示界面中的控件。当控件水平排列时,显示顺序依次为从左到右,当控件垂直排列时,显示顺序依次为从上到下。2.2.1 线性布局orientation属性 2.2.1 线性布局 当控件水平排列时,控件属性layout_width只能设置为wrap_content(包裹内容让当前控件根据控件内容大小自动伸缩),否则其余控件会被挤出屏幕右侧不显示。同理,如果控件垂直排列也会出现同样情况。 当控件水平排列时,如果控件未占满一行,会留有空白区域,这样既不美观又浪费空间。此时,可以利用layout_weight属性解决这个问题,该属性被称为权重,通过比例调整布局中所有控件的大小。

4、 注意:当控件使用权重属性时,布局宽度属性值通常设置为0。2.2.1 线性布局注意事项相对布局 相对布局(RelativeLayout)是通过相对定位的方式指定控件位置,即以其它控件或父容器为参照物,摆放控件位置。 在设计相对布局时要遵循控件之间的依赖关系,后放入控件的位置依赖于先放入的控件。2.2.2 相对布局相对布局 . 按钮按钮3按钮按钮2按钮按钮1100dp20dp2.2.2 相对布局控件属性控件属性功能描述功能描述android:layout_centerInParent设置当前控件位于父布局的中央位置android:layout_centerVertical设置当前控件位于父布局的

5、垂直居中位置android:layout_centerHorizontal设置当前控件位于父控件的水平居中位置android:layout_above设置当前控件位于某控件上方android:layout_below设置当前控件位于某控件下方android:layout_toLeftOf设置当前控件位于某控件左侧android:layout_alignParentTop设置当前控件停靠于布局顶端android:layout_alignParentLeft设置当前控件停靠于布局左侧android:layout_alignParentRight设置当前控件停靠于布局右侧android:layout

6、_alignParentBottom设置当前控件停靠于布局底端android:layout_alignTop设置当前控件的上边界与某控件的上边界对齐android:layout_alignBottom设置当前控件的下边界与某控件的下边界对齐android:layout_alignLeft设置当前控件的左边界与某控件的左边界对齐android:layout_alignRight设置当前控件的右边界与某控件的右边界对齐2.2.2 相对布局控件位置属性控件属性控件属性功能描述功能描述android:layout_marginTop设置当前控件上边界与某控件的距离android:layout_marg

7、inBottom设置当前控件底边界与某控件的距离android:layout_marginLeft设置当前控件左边界与某控件的距离android:layout_marginRight设置当前控件右边界与某控件的距离2.2.2 相对布局控件位置属性控件属性控件属性功能描述功能描述android:paddingTop设置布局顶部内边距的距离android:paddingBottom设置布局底部内边距的距离 android:paddingLeft设置布局左边内边距的距离android:paddingRight设置布局右边内边距的距离android:padding设置布局四周内边距的距离2.2.2 相

8、对布局控件内边距属性常用单位 为了让程序拥有更好的屏幕适配能力,在指定控件和布局宽高时应尽量避免将控件宽高设置为固定值。但特殊情况下,需要使用指定宽高值时,可以选择使用以下四种单位: px:像素,即在屏幕中可以显示最小元素单位。 pt:磅数,一磅等于1/72英寸,一般pt会作为字体的单位来显示。 dp:基于屏幕密度的抽象单位。不同设备有不同的显示效果,根据设备分辨率的不同来确定控件的尺寸。 sp:可伸缩像素,采用与dp相同的设计理念,推荐设置文字大小时使用。2.2.2 相对布局帧布局 帧布局(FrameLayout)为每个加入其中的控件创建一个空白区域(称为一帧,每个控件占据一帧)。 所有控件

9、都默认显示在屏幕左上角,按照先后放入的顺序重叠摆放。帧布局的大小由内部最大控件的决定。2.2.3 帧布局 按钮按钮1 按钮按钮22.2.3 帧布局表格布局 表格布局(TableLayout)是以表格形式排列控件的,通过行和列将界面划分为多个单元格,每个单元格都可以添加控件。 表格布局需要和TableRow配合使用,每一行都由TableRow对象组成,因此TableRow的数量决定表格的行数。而表格的列数是由包含最多控件的TableRow决定的,例如第1个TableRow有两个控件,第2个TableRow有三个控件,则表格列数为3。2.2.4 表格布局 按钮按钮1按钮按钮2按钮按钮3按钮按钮4按

10、钮按钮52.2.4 表格布局表格布局属性表格布局属性布局属性布局属性功能描述功能描述android:stretchColumns设置该列被拉伸android:shrinkColumns设置该列被收缩android:collapseColumns设置该列被隐藏表格布局控件属性表格布局控件属性控件属性控件属性功能描述功能描述android:layout_column设置该单元显示位置android:layout_span设置该单元格占据几行,默认为1行2.2.4 表格布局绝对布局 绝对布局(AbsoluteLayout)是通过指定x、y坐标来控制每一个控件位置的。2.2.5 绝对布局 设置设置x坐

11、标坐标设置设置y坐标坐标2.2.5 绝对布局2.4 常见对话框 2.1 布局的创建 2.2 布局的类型2.3 常用控件 主讲内容 控件是界面组成的主要元素,是与用户进行直接交互的。常用控件TextView EditTextButtonRadioButtonImageView控件的分类TextView TextView是用于显示文字(字符串)的控件,可在代码中通过设置属性改变文字的大小、颜色、样式等功能。 2.3.1 TextViewEditView EditText继承自TextView,可以进行编辑操作,将用户信息传递给Android程序。还可以为EditText控件设置监听器,用来测试用户

12、输入的内容是否合法。 2.3.2 EditViewButton Button是按钮,是用于响应用户的一系列点击事件,使程序更加流畅和完整。 2.3.3 Button点击事件实现方式 指定Button的onClick属性方式 首先在layout文件中指定onClick属性: 然后在Activity中实现这个click方法 android:onClick=click public void click(View v) Log.i(指定onClick属性方式, button is clicked); 注意:Activity中实现的方法名称要与onClick属性设置的名称一致。2.3.3 Button

13、点击事件实现方式 独立类方式 首先为按钮设置监听器: 在onCreate()方法外实现接口 btn.setOnClickListener(myListener); onClickListener myListener = new OnClickListener() Override public void onClick(View v) Log.i(独立类方式, button is clicked); 2.3.3 Button点击事件实现方式 接口方式 首先当前Activity实现OnClickListener接口 然后实现接口方法 最后绑定到Button上 public class Main

14、Activity extends Activity implements onClickListener; Override public void onClick(View v) Log.i(接口方式, button is clicked); btn.setOnClickListener(this);2.3.3 Button点击事件实现方式 匿名内部类方式 在Activity中添加匿名内部类 btn.setOnClickListener(new View.OnClickListener() Override public void onClick(View v) Log.i(匿名内部类方式,

15、 button is clicked); );2.3.3 ButtonRadioButton RadioButton为单选按钮,它需要与RadioGroup配合使用,提供两个或多个互斥的选项集。 RadioGroup是单选组合框,可容纳多个RadioButton,并把它们组合在一起,实现单选状态。2.3.4 RadioButton 控制控制RadioButton按钮的排列方向按钮的排列方向2.3.4 RadioButton设置监听事件 利用setOnCheckedChangeListener()监听RadioGroup控件状态,通过if语句判断被选中RadioButton的id。 radioG

16、roup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() Override public void onCheckedChanged(RadioGroup group, int checkedId) if (checkedId = R.id.rbtn) textView.setText(您的性别是:男); else textView.setText(您的性别是:女); );2.3.4 RadioButtonImageView ImageView是视图控件,它继承自View,其功能是在屏幕中显示图像。Imag

17、eView类可以从各种来源加载图像(如资源库或网络),并提供缩放、裁剪、着色(渲染)等功能。 2.3.5 ImageView123功能描述: 搭建QQ登录界面UI。技术要点: 使用前几节学习的布局和控件搭建。案例代码(详见教材案例代码(详见教材P23P25)实现步骤: 导入图片资源 思考界面结构 布局文件中编写界面代码2.3.6 实战演练QQ登录界面2.4 常见对话框 2.1 布局的创建 2.2 布局的类型2.3 常用控件 主讲内容常见对话框分类 对话框也是程序与用户交互的一种方式,通常用于显示当前程序提示信息以及相关说明,以小窗口形式展现。 常见对话框有以下几种:普通对话框单选对话框多选对话

18、框进度条对话框消息对话框自定义对话框常见对话框普通对话框 普通对话框(Dialog)一般只会显示提示信息,并具有确定和取消按钮。 AlertDialog dialog; dialog = new AlertDialog.Builder(this) .setTitle(Dialog对话框) .setMessage(是否确定退出?) .setIcon(R.mipmap.ic_launcher) .setPositiveButton(确定, null) .setNegativeButton(取消, null) .create(); dialog.show();2.4.1 普通对话框单选对话框 单选对

19、话框和RadioButton作用类似,只能选择一个选项,它是通过AlertDialog对象调用setSingleChoiceItems()方法创建的。 new AlertDialog.Builder(this) .setTitle(请选择性别) .setIcon(R.mipmap.ic_launcher) .setSingleChoiceItems(new String男, 女, 0, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int which) ) .setPositi

20、veButton(确定, null) .show();2.4.2 单选对话框多选对话框 多选对话框通常在需要勾选多种选项时使用,例如添加兴趣爱好、喜爱的电影等。创建多选对话框与创建单选对话框类似,调用setMultiChoiceItems()方法就可实现。 new AlertDialog.Builder(this) .setTitle(请添加兴趣爱好!) .setIcon(R.mipmap.ic_launcher) .setMultiChoiceItems(new String旅游, 美食, 汽车, 宠物, null, null) .setPositiveButton(确定, null) .s

21、how();2.4.3 多选对话框进度条对话框 进度条对话框一般在应用程序实现耗时操作时使用。Android中提供了两种进度条样式,圆形进度条和水平进度条。 ProgressDialog prodialog; prodialog = new ProgressDialog(this); prodialog.setTitle(进度条对话框); prodialog.setIcon(R.mipmap.ic_launcher); prodialog.setMessage(正在下载请等候.); prodialog.setProgressStyle(ProgressDialog.STYLE_HORIZONT

22、AL); prodialog.show();2.4.4 进度条对话框消息对话框 消息对话框(Toast)是轻量级信息提醒机制,显示在应用程序界面的最上层,一段时间后自动消失不会打断当前操作,也不获得焦点。 Toast.makeText ( this, Hello,Toast , Toast.LENGTH_SHORT ).show();2.4.5 消息对话框自定义对话框 为了提高用户体验,达到更理想的效果,可根据需求自定义对话框样式。具体创建步骤如下: 创建布局 创建一个自定义对话框的布局文件(my_dialog.xml),布局中需要设定对话框的标题、对话框内容以及确定和取消按钮。 创建自定义对

23、话框 创建一个类MyDialog继承自Dialog类,主要用于初始化自定义对话框中的控件以及响应按钮的点击事件。 使用自定义对话框 在MainActivity中,调用MyDialog的构造方法将自定义对话框显示出来2.4.6 自定义对话框2.5 样式和主题 2.6 国际化2.7 程序调试 主讲内容样式 样式(style)是包含一种或多种控件的属性集合,可以指定控件高度、宽度、字体大小及颜色等。 自定义样式代码如下(styles.xml): match_parent wrap_content #999999 35sp 2.5.1 样式样式 引用自定义样式代码如下(activity_main.xm

24、l): 2.5.1 样式主题 主题(theme)应用到整个Activity和Application的样式,当设置好主题后,Activity或整个程序中的视图都将使用主题中的属性,当主题和样式中的属性发生冲突时,样式的优先级要高于主题。 自定义主题代码如下(styles.xml): #999999 2.5.2 主题主题 引用自定义主题代码如下(AndroidManifest.xml): . 2.5.2 主题2.5 样式和主题 2.6 国际化2.7 程序调试 国际化简介 国际化(internationalization)的应用具备支持多种语言功能,能被不同国家或地区用户同时访问,提供符合访问者阅读

25、习惯的页面和数据。 由于国际化单词internationalization首字母“I”和尾字母“N”之间有18个字符,因此被简称为I18N。国际化国际化文件的创建 编写中文内容(strings.xml(zh-rCN): 安卓_i18n 你好,世界! 编写英文内容(strings.xml(en-rUS): Android_i18n Hello,world! 国际化的使用 编写布局文件内容(activity_main.xml): 国际化的使用2.5 样式和主题 2.6 国际化2.7 程序调试 主讲内容单元测试 单元测试是指在应用程序开发过程中对最小的功能模块进行测试,可以在完成某个功能之后对该功能

26、进行单独测试。 使用AndroidStudio开发工具完成单元测试非常简单,在项目创建时Android Studio就已经默认创建了一个androidTest包和ApplicationTest类,所有测试的功能模块写入此类即可。2.7.1 单元测试单元测试 在ApplicationTest类中添加test()测试方法 public class ApplicationTest extends ApplicationTestCase public ApplicationTest() super(Application.class); public void test() throws Except

27、ion final int expected =1; final int reality =1; assertEquals(expected, reality); 2.7.1 单元测试2.7.1 单元测试测试结果正常测试结果错误2.7.1 单元测试LogCat的使用 LogCat是Android中的命令行工具,用于获取程序从启动到关闭的日志信息。 Log类所输出的日志内容分为五个级别,分别对应Log类中的Log.v()、Log.d()、Log.i()、Log.w()、Log.e()静态方法。Android4.0新增加Assert比较特殊,没有对应的静态方法。 Log.v(MainActivit

28、y,Verbose); Log.d(MainActivity,Degug); Log.i(MainActivity,Info); Log.w(MainActivity,Warning); Log.e(MainActivity,Error);2.7.2 LogCat的使用2.7.2 LogCat的使用过滤显示过滤显示 除了设置过滤器过滤所需的信息外,还可以直接根据Log级别过滤信息。2.7.2 LogCat的使用过滤显示Debug的使用 Debug是跟踪程序流程的一种模式,可以通过在代码处设置断点,再利用Debug窗口查看,所谓断点是在代码行加入停止点,当程序执行到该行时会暂停,开发者可以从中查

29、看到此行的变量、数值和内容等。2.7.3 Debug的使用 首先编写一个案例,用户输入数字,然后点击按钮计算出累加的总和,接下来在代码行中加入断点查看程序计算过程。2.7.3 Debug的使用2.7.3 Debug的使用2.7.3 Debug的使用2.7.3 Debug的使用日志显示结果 n(输入的整数)值为3,连续点击可查看整个计算过程,程序在for循环语句中反复执行,直到满足循环条件为止。2.7.3 Debug的使用 本章主要讲解了Android中布局以及控件和程序调试等知识。首先介绍了布局的创建,布局的类型,常用控件等,并通过一个QQ登录的案例将这些知识融合在一起。然后讲解几种常用的对话框以及如何通过样式和主题设置界面风格。最后讲解了Android最常用到的单元测试、LogCat以及Debug的使用。 本章所讲解的内容在实际开发中非常重要,基本上每个Android程序都会使用这些内容,因此要求初学者必须熟练掌握,为后面的学习做好铺垫。2.8 本章小结 本章作业 Android中有几种布局,以及每种布局的特点。 LogCat区域中的5种字母所代表的含义。 预习作业 Activity的生命周期 Android中跳转Activity有几种方法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Android移动开发基础案例教程-(2)课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|