博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android--对话框
阅读量:6871 次
发布时间:2019-06-26

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

1.确定取消对话框
对话框中有2个按钮 通过调用 setPositiveButton 方法 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件。

我们使用AlerDialog 创建对话框
AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this);

 

使用builder设置对话框的title button icon 等等

builder.setIcon(R.drawable.icon);builder.setTitle("你确定要离开吗?");builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {//这里添加点击确定后的逻辑showDialog("你选择了确定");}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {//这里添加点击确定后的逻辑showDialog("你选择了取消");}});builder.create().show();

 

这个dialog用于现实onClick后监听的内容信息
 
private void showDialog(String str) {new AlertDialog.Builder(MainDialog.this).setMessage(str).show();}

 

2.多个按钮信息框
AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this);builder.setIcon(R.drawable.icon);builder.setTitle("投票");builder.setMessage("您认为什么样的内容能吸引您?");builder.setPositiveButton("有趣味的", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {showDialog("你选择了有趣味的");}});builder.setNeutralButton("有思想的", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {showDialog("你选择了有思想的");}});builder.setNegativeButton("主题强的", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int whichButton) {showDialog("你选择了主题强的");}});builder.create().show();

 

3.列表框
这个数组用于列表选择

 

final String[] mItems = {"item0","item1","itme2","item3","itme4","item5","item6"};[java] view plaincopyAlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this);builder.setTitle("列表选择框");builder.setItems(mItems, new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {//点击后弹出窗口选择了第几项 *********************************************************************************************************************

Android对话框的托管以及不同的创建方法

 

 

也提供了创建对话框的快捷方式,在Activity中可以通过如showDialog(), onCreateDialog(), onPrepareDialog(),dismissDialog(), removeDialog()等方法来创建和管理对话框。

Activity的onCreateDialog方法用于在创建并显示Android对话框的时候调用,比如:

 

1
1     @Override  2     protected Dialog onCreateDialog(int id, Bundle args)  3     {
4 return new AlertDialog.Builder(this).setMessage("How are you?").setPositiveButton("Fine" , new DialogInterface.OnClickListener() 5 {
6 public void onClick(DialogInterface dialog, int which) 7 {
8 } 9 }).setNegativeButton("Not so good" , new DialogInterface.OnClickListener() 10 {
11 public void onClick(DialogInterface dialog, int which) 12 {
13 } 14 }).create(); 15 }
 

 

 

你可以同时创建多个对话框,通过为他们设置id参数来区分它们,然后可以通过 showDialog(id)方法来显示。 onCreateDialog方法只会在第一次调用showDialog方法时才会被调用,在之后的showDialog()的调用中,对话框不是被新建出来的,而是直接显示之前创建过的那些Android对话框。

如果你想要更新对话框的内容,你只要在 onPrepareDialog()中作相应的工作就可以了,该方法会在对话框显示之前进行调用。
dismissDialog()方法是用来关闭对话框的;removeDialog()方法用来将对话框从Activity的托管中移除(如果对已经移除的对话框重新进行调用showDialog ,则该对话框将进行重新创建)。
另外一种简单的显示对话框的方式是让Activity以Dialog的方式来工作(假装?),这种Activity被称作浮动 Activity。这种Activity可以通过配置它的主题来实现,我们可以在AndroidManifest.xml中进行类似如下的配置:

 

1 

 

 

这样,该Activity就会应用了 ‘Theme.Dialog’的主题而看起来像对话框了。

 

 

转载于:https://www.cnblogs.com/qingblog/archive/2012/05/30/2526380.html

你可能感兴趣的文章
烂泥:【解决】ubuntu提示ilanni不在sudoers文件中错误
查看>>
dataguard 切换保护模式
查看>>
__FILE__ __DATE__ __TIME__ __LINE__
查看>>
关于linux系统下iptables下的管理的8种命令
查看>>
find工具
查看>>
我的友情链接
查看>>
Java 实现把字符串转换成整数【底层实现】
查看>>
五大常见的MySQL高可用方案
查看>>
自己搭建练习sql语句的环境~
查看>>
quotacheck: Cannot create new quotafile /data/aquota.group.new: Permission denied
查看>>
从0到33600端口详解
查看>>
EJS甘特图控件下载购买地址
查看>>
MST多重生成树协议
查看>>
python 多用户发邮件
查看>>
Python列表copy
查看>>
Spring自定义标签解析与实现
查看>>
Python:itertools模块-groupby
查看>>
合理看待团队的良性冲突
查看>>
Nginx用户认证与域名重定向
查看>>
区块链技术的核心概念
查看>>