码迷,mamicode.com
首页 > 其他好文 > 详细

Dialog

时间:2015-08-28 09:36:26      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

dialog一般是出现在Activity之上的一个小窗口,一般用于提示信息和与当前应用程序直接相关的小功能

进度对话框ProgressDialog:显示一个劲度环或者一个进度条,支持按钮

警告对话框AlertDialog:可以创建大多数的交互界面

日期选择对话框DatapickerDialog:让用户选择一个日期

时间选择对话框TimePickerDialog:让用户选择一个时间

1.实例化dialog

由于AlertDialog到的构造函数的关系,不能直接实例化,需要利用Builder类似实例化,如

AlertDialog ad=new AlertDialog.Builder(Main.this).create();

2.设置对话框

设置除了指基本的设置如title,message,icon外,还可设置对话框的按钮,单选框,列表,复选框等

2.1技术分享

实现上图的窗口,用set....Button()

AlertDialog.Builder builder=new AlertDialog.Builder(this);

builder.setMessage("Are you sure you want to exit?")

.setCancelable(false)

.setPositiveButton("Yes",new DialogInterface.OnClickListener(){

public void onClick(DialogInterface dialog,int id){

MyActivity.this.finish();

}

})

.setNegativeButton("No",new DialogInterface.OnClickListener(){

public void onClick(DialogInterface dialog,int id){

dialog.cancel();

}

});

首先,使用setMessage(CharSequence)为对话框增加一条消息。 然后, 开始连续调用方法, 使用setCancelable(boolean)将对话框设为不可取消(不能使用back键来取消)。对每一个按钮,使用set...Button()方法,该方法接受按钮名称和一个DialogInterface.OnClickListener,该监听器定义了当用户选择该按钮时应做的动作。
  注意:对每种按钮类型,只能为AlertDialog创建一个。也就是说,一个AlertDialog不能有两个以上的"positive"按钮。这使得可能的按钮数量最多为三个:肯定、否定、中性。这些名字和实际功能没有联系,但是将帮助你记忆它们各做什么事情。

 

2.2添加一个列表技术分享

要创建一个具有可选项的AlertDialog,使用setItems()方法final CharSequence[] items = {"Red", "Green", "Blue"};   

AlertDialog.Builder builder = new AlertDialog.Builder(this);  

builder.setTitle("Pick a color");  

builder.setItems(items, new DialogInterface.OnClickListener() {  public void onClick(DialogInterface dialog, int item) {  

        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();  

    }  

});  

AlertDialog alert = builder.create();  

首先增加一个标题。然后使用setItems()增加一个可选列表,该列表接受一个选项名称的列表和一个DialogInterface.OnClickListener, 后者定义了选项对应的响应。

2.3 添加单选和复选框

技术分享

要创建一个带有多选列表或者单选列表的对话框, 使用setMultiChoiceItems()和setSingleChoiceItems()方法。如果你在onCreateDialog()中创建可选择列表, Android会自动管理列表的状态. 只要activity仍然活跃, 那么对话框就会记住刚才选中的选项,但当用户退出activity时,该选择丢失。
  注意: 要在你的acitivity离开和暂停时保存选择, 你必须在activity的声明周期中正确的保存和恢复设置。为了永久性保存选择,你必须使用数据存储技术中的一种。
  要创建一个具有单选列表的AlertDialog,只需将一个例子中的setItems()换成 setSingleChoiceItems():

final CharSequence[] items = {"Red", "Green", "Blue"};   AlertDialog.Builder builder = new AlertDialog.Builder(this);  builder.setTitle("Pick a color");  

builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {  public void onClick(DialogInterface dialog, int item) {  

        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();  

    }  

});  

AlertDialog alert = builder.create();

 

3.show

显示对话框

4.消除对话框

dismissDialog(int id)会保留这个对象

removeDialog(int id)会删除这个对象和清除状态

Dialog

标签:

原文地址:http://www.cnblogs.com/chhom/p/4765488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!