专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

AlertDialog用法详解,AlertDialog对话框几种实现方法

来源:小嗨整编  作者:小嗨  发布时间:2023-02-13 03:55
摘要:AlertDialog用法详解,AlertDialog对话框几种实现方法介绍AlertDialog对话框从简到繁的多种设计方案,从新角度理解UI交互设计。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,读者理解设计方式后可自行添加所需控件。

 AlertDialog用法详解,AlertDialog对话框几种实现方法

 AlertDialog用法详解,AlertDialog对话框几种实现方法

 AlertDialog用法详解,AlertDialog对话框几种实现方法

 AlertDialog用法详解,AlertDialog对话框几种实现方法

第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所示。

 AlertDialog用法详解,AlertDialog对话框几种实现方法

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

 AlertDialog用法详解,AlertDialog对话框几种实现方法

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

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


本文地址:IT问答频道 https://www.eeeoo.cn/itwenda/903069_3.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!

共3页 1 2 3 当前是最后一页

IT问答
小编:小嗨整编
相关文章相关阅读
  • 我的世界不死图腾获取方式(我的世界不死图腾用法)

    我的世界不死图腾获取方式(我的世界不死图腾用法)

    我的世界不死图腾获取方式(我的世界不死图腾用法)我的世界不死图腾由召唤师掉落,使用林中鬼屋藏宝图找到林中鬼屋,然后进入林中鬼屋的房间里击杀召唤师才能获得。不过不死图腾的掉落率比较低,需要击杀许多召唤师才能获得。我的世界不死图腾用法移除玩家身...

  • 魔兽世界字体设置在哪(魔兽世界字体设置方法详解)?

    魔兽世界字体设置在哪(魔兽世界字体设置方法详解)?

    魔兽世界字体设置在哪(魔兽世界字体设置方法详解)?在魔兽世界这款备受喜爱的大型多人在线角色扮演游戏中,玩家们可以通过各种方式来打造属于自己的独特风格,改变字体就是一种简单有效的方法,本文将详细介绍如何在魔兽世界中修改字体,让你的游戏体验更具...

  • dnf鬼泣技能详解(dnf鬼泣自带暗属性吗)?

    dnf鬼泣技能详解(dnf鬼泣自带暗属性吗)?

    dnf鬼泣技能详解(dnf鬼泣自带暗属性吗)?“鬼泣”是目前dnf手游中较为全面的一个角色,可做主力输出也可以当辅助职业。自带暗属性伤害,打造成本低,整体操作手感丝滑,范围大爆发的同时兼顾持续输出,相比起狂战士那种“莽夫型”职业,“鬼泣”的...

  • 王者荣耀鬼谷子教学(王者荣耀鬼谷子技能详解)

    王者荣耀鬼谷子教学(王者荣耀鬼谷子技能详解)

    王者荣耀鬼谷子教学(王者荣耀鬼谷子技能详解)王者荣耀的鬼谷子是一个具有强大辅助能力的英雄。他的技能机制独特,可以在战斗中起到至关重要的作用。并且凭借着隐身控制效果获得了许多玩家的喜爱,下面带来王者荣耀鬼谷子的教学及技能详解。王者荣耀鬼谷子的...

  • ones刻录软件的用法(ones刻录软件怎么刻录数据光盘)?

    ones刻录软件的用法(ones刻录软件怎么刻录数据光盘)?

    ones刻录软件的用法(ones刻录软件怎么刻录数据光盘)?ones刻录软件是一款专业的光盘刻录软件,不仅软件体积小巧、占用内存少,操作简单便捷,而且ones光盘刻录软件功能全面,用户可以通过软件刻录多种格式的文件,轻松上手操作,为用户带来...

  • 王者荣耀盘古连招技巧详解(王者荣耀盘古最强出装)

    王者荣耀盘古连招技巧详解(王者荣耀盘古最强出装)

    王者荣耀盘古连招技巧详解(王者荣耀盘古被谁克制)?王者荣耀里的盘古其独特的缴械机制能够有效地克制依赖普攻输出的英雄。盘古的技能包含了位移、击退、减速、缴械、回复、眩晕等多种机制,使其在战场上拥有非常全面的表现。下面带来王者荣耀盘古的连招技巧...

  • 魔兽世界gm命令大全详解(魔兽世界gm命令怎么用)?

    魔兽世界gm命令大全详解(魔兽世界gm命令怎么用)?

    魔兽世界gm命令大全详解(魔兽世界gm命令怎么用)?在魔兽世界中,GM命令主要用于管理游戏内的各种资源和玩家行为,通过这些命令,GM可以查询玩家的信息、调整游戏世界的设定、处理游戏内的问题等。魔兽世界gm命令怎么用答:按~打开控制台,输入对...

  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • 周排行
  • 月排行
  • 年排行

精彩推荐