当前位置:首页 > APP资源 > 正文内容

androidapp开发工具(androidapp开发教程)

APP资源11个月前 (01-04)434

介绍AlertDialog对话框从简到繁的多种设计方案,从新角度理解UI交互设计。

AlertDialog对话框允许自定义弹出对话框的内容,实现比之前讲解的几种对话框更丰富的功能。

01

带默认按钮的AlertDialog

展开全文

程序单击按钮后执行第17行代码,调用自定义方法showAlertDialog。

第22~62行是自定义showAlertDialog方法。调用AlertDialog的顺序是先定义Builder;对Builder调用相关方法设定属性;定义默认按钮及单击监听器;调用Builder的create方法生成AlertDialog;最后调用AlertDialog的show方法显示对话框。

第24行初始化builder,此时builder拥有AlertDialog对话框的默认主题。

第25行调用setTitle方法设置对话框的标题。

第26行调用setMessage方法设置对话框的提示信息。

第27行调用setIcon方法设置对话框图标。

第30~37行添加PositiveButton按钮,其中setPositiveButton方法的第一个参数是按钮的显示文本。为了便于阅读代码,此按钮文本尽量采用确定语气的文字,如“是”“确定”等。第二个参数是按钮的单击监听器。单击此按钮将自动关闭对话框,同时执行第35行代码,在文本输入框editText1中显示信息。变量which是PositiveButton按钮的int型返回值。

第40~57行以同样的方式设置“取消”和“中间”按钮。不同的Android版本3个按钮的外观和位置会有差异。每个对话框可以设置1~3个对话框默认按钮,也可以不设置按钮。

第58行的作用是单击对话框以外的区域,对话框仍然显示在最上层。默认值为true,单击对话框以外的区域,对话框将被遮挡。

第59行调用builder的create方法生成alertDialog1对话框。

第60行调用alertDialog1的show方法显示对话框。

带默认按钮的AlertDialog运行结果如图4-84和图4-85所示。

■ 图4-84弹出带默认按钮的AlertDialog

■ 图4-85返回对话框按钮信息

02

列表的AlertDialog

AlertDialog除了默认主题的对话框形式外,还支持多种类型的对话框。本案例讲解列表风格的AlertDialog。

本案例的大多数代码与4.24.1节案例的代码类似,不同点在第29行,setItems方法将对话框设置为选项列表风格。第一个参数是用于填充下拉选项列表的字符串数组str,str数组在第4行定义。第二个参数为单击监听器,处理单击选项后的触发事件。

第34行的OnClick方法以变量which(单击选项列表返回的选中项索引值)为字符串数组str的索引,获取对应选中列表中的文本,并将其传递给editText1。

列表风格的AlertDialog运行结果如图4-86和图4-87所示。

■ 图4-86弹出列表风格的AlertDialog

■ 图4-87返回列表风格的AlertDialog的选择信息

03

单选的AlertDialog

单选的AlertDialog是指弹出的对话框显示单选按钮风格的AlertDialog。

第4行定义用于单选列表的字符串数组str。

第5行的变量num用于记录单选风格对话框中选中项的索引值。

关键代码在第31行,setSingleChoiceItems方法将对话框设置为单选按钮风格。其中第二个参数checkedItem是设置单选按钮列表选中项的索引值,如果是-1则所有单选按钮都设置为未选。

第34行的变量which是单选按钮列表的索引值,也是选中项对应字符串数组str的索引值。

第45行的变量which是AlertDialog对话框中按钮被单击时返回按钮所对应的int型数值,与第34行的which含义是不同的。

如果去掉第38行的注释,在弹出的对话框中选中单选项后,cancel方法将关闭对话框而无须再单击“确定”按钮,也就不会执行第42~50行的代码。

单选的AlertDialog运行结果如图4-88所示。

■ 图4-88单选的AlertDialog运行结果

04

复选的AlertDialog

复选的AlertDialog是指弹出的对话框显示复选框风格的AlertDialog。

第4行定义用于复选框列表的字符串数组str。

第5行的布尔型数组flags定义了str数组在复选框列表中的选中状态,true为选中。flags数组的长度应与str数组长度相同。如果flags数组长度小于str数组长度,程序运行到第30行绑定两个数组到builder时会出错。如果flags数组长度大于str数组长度,程序运行到第45行取flags数组的长度,执行到第48行可能会因数组索引超出str数组范围而出错,只要将第45行的flags.length改成str.length程序就能正常运行。

第30行的setMultiChoiceItems方法将AlertDialog设置为复选框列表。

第35行将复选项的变动值(true或false)同步到flags数组的对应项。

第45行使用for循环遍历数组flags,状态为true的索引项返回str数组的对应值。

第50行将对话框的返回结果传递给editText1。

第53~54行调用builder的create方法生成alertDialog1,再调用show方法显示对话框。

05

自定义控件

目前为止已经介绍了多种对话框,这些对话框的内置控件都是定制好的。本案例讲解自定义对话框中的控件。为便于讲解,对话框中的控件只加入EditText和Button,读者理解设计方式后可自行添加所需控件。

第17~19行通过自定义showAlertDialog方法的不同参数调用不同形式的自定义对话框。

当参数为10时执行第29行开始的代码,实现动态添加控件,常用于对布局要求不高的场景。第30行使用EditText的构造方法生成一个文本输入框editTextName。第31行将生成的editTextName文本输入框添加到builder中。第32行添加对话框的标题。第33行添加“确定”按钮,按钮的单击监听器将对话框中的editTextName内容传回main.xml布局文件中的editText1中。

当参数为20时执行第42行开始的代码。此时调用已经设计好的布局文件login.xml。第43行声明LayoutInflater类型的变量inflater20。第44行使用inflate方法将login.xml中名为linearLayoutLogin的线性布局作为View填充到viewLogin20。第45行是将builder的一系列方法放在一行中连续调用。相关按钮的监听器都设置为null,单击这些按钮就只能执行默认的关闭对话框操作。

当参数为30时执行第47行开始的代码,是对方法一的完善,可以返回文本输入框中的文字内容。实现的方式是重写按钮单击监听器代码。在第57行的findViewById方法前加了viewLogin30限定。第49行viewLogin30对应的是login.xml布局文件的linearLayoutLogin。如果没有viewLogin30前缀,查找R.id.editTextName从main.xml中查询,找不到程序就会出错退出。如果两个文件中控件重名,没有viewLogin30前缀的findViewById方法取回的就是main.xml布局文件中的控件。

带自定义控件AlertDialog运行结果如图4-89和图4-90所示。

■ 图4-89弹出带自定义控件AlertDialog

■ 图4-90返回带自定义控件AlertDialog信息

【注】

Spinner、AutoCompleteTextView和AlertDialog都支持类似的弹出框功能,使用时注意各自的优缺点和使用场景。

实例讲解

Android项目开发基础与实战

精彩回顾

教学辅助系统使用

Android项目开发相关Java基本概念

约束布局

TextView控件

Button控件

RadioButton控件

精彩预告

Activity

Broadcast

数据库调试

06

视频讲解

扫码即可观看视频,限时免费3天

07

参考书籍

《Android项目开发基础与实战(微课视频版)》

androidapp开发工具(androidapp开发教程)

作者:夏江

定价:59.9元

内容简介

本书结合作者多年讲授“Android应用软件开发”课程的教学经验,融入Android开发领域新技术,较为全面地介绍了Android应用软件开发的相关知识点和开发技巧。全书共分5章,分别介绍了Android开发环境、Android项目及Java基本概念、Android常用布局、Android常用控件和其他常用编程技术。本书相关案例以Android Studio为开发环境,尽可能使用最新版本SDK命令替代弃用命令,并对控件的版本变化做大致的介绍。本书全面考虑了本科教学的特点,结合作者开发的案例库教学辅助系统,通过精心设计的案例和详尽的讲解、演示,让读者感受体验式教学的魅力。本书适合Android Studio开发人员、Android的入门读者、高等学校学生使用,还可以作为高等院校、相关培训机构的教学用书。

08

精彩推荐

微信小程序游戏开发│猜数字小游戏(附源码+视频)

Flink编程基础│Scala编程初级实践

Flink编程基础│FlinkCEP编程实践

Flink编程基础│DataStream API编程实践

Flink编程基础│DataSet API编程实践

数 据分析实战│客户价值分析

数据分析实战│价格预测挑战

数据分析实战│时间序列预测

数据分析实战│KaggleTitanic生存预测

微信小程序游戏开发│猜数字小游戏(附源码+视频)

Flink编程基础│Scala编程初级实践

Flink编程基础│FlinkCEP编程实践

Flink编程基础│DataStream API编程实践

Flink编程基础│DataSet API编程实践

数 据分析实战│客户价值分析

数据分析实战│价格预测挑战

数据分析实战│时间序列预测

数据分析实战│KaggleTitanic生存预测

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://zspsrg.cn/post/76598.html

分享给朋友:

“androidapp开发工具(androidapp开发教程)” 的相关文章

keepappcancel的简单介绍

keepappcancel的简单介绍

大部分的健身app提供健身训练计划教练课程分享打卡社区等功能,一些健身软件还提供记录体重变化和饮食习惯分析等功能下面为大家提供了几款方便实用的健身app,一起来看看吧!1KeepappKeep是一款目前非常受欢迎的移动健身指导健身应用,是。 根据查询百度经验得知,如果您不想继续使用keep的会员服务...

网站类app(网站类型有哪些)

网站类app(网站类型有哪些)

1、2旅游app排行榜前十名3旅游的app有哪些4旅游攻略app排行榜前十名口碑最好的旅游软件有哪些?口碑好的旅游软件去哪儿携程旅行穷游驴妈妈旅游蚂蜂窝自由行一去哪儿去哪儿APP是国内较大的一家旅游出行APP,上面有旅游。 2、2AppmakriOS,WindowsPhone,AndroidAppM...

做企业规划的app(做企业规划的步骤有哪些)

做企业规划的app(做企业规划的步骤有哪些)

十大室内设计培训机构排行榜 现在室内设计的门槛越来越低,越来越考验设计师的能力,想要让自己的技术精益求精,想在预计的时间内学到真本领,则选择去正规学校进行专业的学习。因为专业的室内培训学校可以给学员进行更加正规的培训,比如杭州清风室内设计培训学院,专攻室内设计一门专业,老师都是股份责任制,培训班进行...

快手app成人短视频(快手app成人短视频怎么下载)

快手app成人短视频(快手app成人短视频怎么下载)

1、首先,打开快手应用,然后点击右下角的“我的”按钮在个人主页上方会出现一个“青少年模式”的选项,点击进入在青少年模式页面上,你需要进行实名认证以证明你已经满足使用成年版的条件完成实名认证后,你可以点击页面上的。 2、快手成年版可以通过以下步骤打开1 打开快手App首先,在手机上找到并打开已经安装好...

app软件开发制作方案(app软件开发制作方案怎么做)

app软件开发制作方案(app软件开发制作方案怎么做)

从最初与客户了解需求功能到最终的测试上线,一个完整的APP就被开发出来了如同其他软件开发一样,APP的整个生命周期都是需要紧扣用户需求的,一旦脱离用户需求,就极可能开发出质量差用户不认可的APP软件,这是许多APP开发;就可以联网进行系统内测,参与人员包括项目需求方和开发公司测试人员,可以下载并安装...

app和wap设计(app与web模式有何区别与联系)

app和wap设计(app与web模式有何区别与联系)

1一屏一个任务 降低用户完成任务之时所需耗费的精力你为APP的每一屏都应当承载一个对用户有用有价值的交互或者任务,一次完成一个任务,且只能有一个任务,其中应该不包含超过1次的行为召唤CTA这样的设计能让;正确的名字应该是“移动网页”,这样比较能够准确地概括手机端的网页设计因为手机自身的一些特性,所以...