博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android控件第7类——对话框
阅读量:7032 次
发布时间:2019-06-28

本文共 1692 字,大约阅读时间需要 5 分钟。

 

1、AlertDialog

  AlertDialog用来生成对话框,功能十分强大。

  AlertDialog可以分成4个组成部分:标题栏上的图标,标题区,文本区,按钮区。

  使用方法:

    • 创建AlertDialog.Builder对象。
    • 对Builder对象设置属性。
    • 然后调用Builder对象的show方法显示AlertDialog;或者调用create方法生成AlertDialog对象,再调用AlertDialog对象收到show方法。

 

  AlertDialog.Builder提供了设置按钮的方法:setPositiveButton()、setNegativeButton()、setNeutralButton()

  可以使用下面6种方式之一为AlertDialog设置显示内容(均为AlertDialog.Builder类的方法):

    • setMessage():内容为简单文本
    • setItems():内容为列表
    • setSingleChoiceItems():内容为单选按钮列表
    • setMultiChoiceItems():内容为多选按钮列表
    • setAdapter():内容为自定义列表项
    • setView():内容为自定义View

      说明:以上6个方法除了setAdapter外,都有重载的方法,其中的一个方法第一个参数为int,指的是string资源

 

2、Activity显示为对话框风格

  Activity默认是占有全屏的,当程序中打开一个新的Activity时,也是完全覆盖了上一个Activity,即使新的Activity中的控件实际占用很小的空间。可以AndroidManifest.xml中设置<activity>的属性,来实现Activity显示成对话框的风格。

    

 

3、PopupWindow显示对话框

  使用方法:

    • 创建PopupWindow对象
    • 调用PopupWindow对象的showAsDropDown(View v)将PopupWindow作为v控件的下拉组件显示出来;或者调用PopupWindow对象的showAtLocation()方法将PopupWindow在指定位置显示

 

4、DatePickerDialog,继承自AlertDialog

  用AlertDialog对DatePicker进行简单封装。

  在构造函数中传递OnDateSetListener对象监听设置了日期的事件(Positive按钮被按下)。

  使用方法:调用DatePickerDialog的show方法即可。

 

5、TimerPickerDialog,继承自AlertDialog

  用AlertDialog对TimePicker进行简单封装。

  在构造函数中传递OnTimeSetListener对象监听设置了日期的事件(Positive按钮被按下)。

  使用方法:调用TimePickerDialog的show方法即可。

 

6、ProgressDialog,继承自AlertDialog

  显示ProgressDialog的方式有两种:

    • 使用ProgressDialog的静态方法show,这种方式通常用于显示简单的进度条。
    • 创建ProgressDialog对象,对其进行设置,然后调用对象的show方法。

  可以像ProgressBar一样,对ProgressDialog调用setMax和setProgress、incrementProgressBy等方法设置其最大值和当前值等属性。

  和ProgressBar类似,ProgressDialog通常用于在进行耗时操作的时候使用,通常使用多线程来处理。这时不能在其他线程中修改ProgressDialog的进度,只能在主线程中修改,所以通常需要使用Handler来完成这个操作。

  Handler的说明:

 

转载于:https://www.cnblogs.com/huanyou/p/5277294.html

你可能感兴趣的文章
数字签名
查看>>
在Linux 双机下自己手动实现浮动ip技术
查看>>
Spring 和 Hibernate 遇到问题
查看>>
一个页面的倒计时代码
查看>>
Node.js笔记(一)项目的建立
查看>>
PullToRefreshScrollView 滑动监听 actionbar渐变
查看>>
nginx错误解决方法个人总结
查看>>
利用Solid Converter PDF与Office优化处理文档信息
查看>>
spring boot 1.3.5 PUT方法接收参数
查看>>
C++类型转换操作符(type conversion operator)
查看>>
Java 并发之 CountDownLatch、CyclicBarrier 和 Semaphore
查看>>
./ source 以及 exec的区别
查看>>
struts的MVC和spring的MVC的区别
查看>>
学习JVM
查看>>
vsftpd虚拟配置增加用户脚本
查看>>
揭开散列表的神秘面纱
查看>>
linux下安装DNS服务器
查看>>
Ext2文件系统 inode
查看>>
Java中四种XML解析技术
查看>>
Oracle Goldengate在HP平台裸设备文件系统OGG-01028处理
查看>>