1.显示内容

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("对话框标题");
builder.setMessage("对话框内容");
AlertDialog dialog = builder.create();
dialog.show(); //new AlertDialog.Builder(MainActivity.this).setTitle("标题").setMessage("内容").create().show();大神写法

2.赞成/中立/反对按钮

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("标题");
builder.setMessage("内容");
builder.setNegativeButton("反对", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "反对派", Toast.LENGTH_LONG).show();
}
});
builder.setNeutralButton("中立", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "中立派", Toast.LENGTH_LONG).show();
}
});
builder.setPositiveButton("赞同", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "赞同派",Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();

3.单选框

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("旅游");
final String[] items = new String[]{"国外游","省外游","郊游"};
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("旅游");
final String[] items = new String[]{"国外游","省外游","郊游"};
builder.setSingleChoiceItems(items, checkedItem, new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
checkedItem = which;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, items[checkedItem], Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();

4.复选框

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("你喜欢哪部四大名著?");
final String[] items = new String[]{"西游记","三国演义","水浒传","红楼梦"};
final boolean[] checkedItems = new boolean[]{true,false,false,false};
builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { @Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checkedItems[which] = isChecked;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
String str = "";
for(int i = 0;i<checkedItems.length;i++){
if(checkedItems[i]){
str +=items[i]+ " ";
}
}
Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();

5.自定义

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("标题");
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
View view = inflater.inflate(R.layout.dialog, null);
builder.setView(view);
AlertDialog dialog = builder.create();
dialog.show();

注:

获得LayoutInflater对象有三种方法(效果一样):

*通过LayoutInflater的静态方法from()获得

LayoutInflater inflater = LayoutInflater.from(MainActivity.this); 

*通过Activity的getLayoutInflater()方法获得

LayoutInflater inflater = this.getLayoutInflater(); 

*通过系统服务获取

LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

然后

View view = inflater.inflate(R.layout.activity_main, null);
setContentView(view);

6.进度条

final ProgressDialog dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("标题");
dialog.setMessage("内容");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress = 0;
Timer timer = new Timer();
timer.schedule(new TimerTask() { @Override
public void run() {
progress+=10;
if(progress>100){
progress=100;
dialog.dismiss();
}
dialog.setProgress(progress);
}
}, 1000 , 1000);
dialog.show();

7.显示Item的对话框

private String[] items = {"魏","蜀","吴"};

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,items[which],Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();

效果图:

8.显示listview的对话框

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,new String[]{"张三","李四"});
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { }
});
AlertDialog dialog = builder.create();
dialog.show();

效果图:

9.显示自定义view的对话框

View view = LayoutInflater.from(this).inflate(R.layout.activity_main,null);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setView(view);
AlertDialog dialog = builder.create();
dialog.show();

效果图:

Dialog对话框的更多相关文章

  1. Android UI系列-----Dialog对话框

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  2. Android中制作自定义dialog对话框的实例

    http://www.jb51.net/article/83319.htm   这篇文章主要介绍了Android中制作自定义dialog对话框的实例分享,安卓自带的Dialog显然不够用,因而我们要继 ...

  3. matlab学习------------普通dialog对话框,错误对话框errordlg,警告对话框warndlg

    Dialog对话框 语法: h = dialog('PropertyName',PropertyValue,...) 对话框的默认属性 WindowStyle的值:   {normal} | moda ...

  4. android从Dialog对话框中取得文本文字

    android中Dialog对话框获取文本文字,只需要使用editor的getText方法就可以获得,示例如下:final EditText et = new EditText(this); et.s ...

  5. 窗口-EasyUI Window 窗口、EasyUI Dialog 对话框、EasyUI Messager 消息框

    EasyUI Window 窗口 扩展自 $.fn.panel.defaults.通过 $.fn.window.defaults 重写默认的 defaults. 窗口(window)是一个浮动的.可拖 ...

  6. Android之UI--打造12种Dialog对话框

    最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...

  7. 第二百零四节,jQuery EasyUI,Dialog(对话框)组件

    jQuery EasyUI,Dialog(对话框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Dialog(窗口)组件的使用方法,这个组件依赖 ...

  8. JQuery Dialog对话框 不能通过Esc关闭

    背景:想通过Esc键关闭展示中的Dialog对话框,发现有些对话框可以,有些会失效. 原因分析: 1.对话框上可以输入内容的标签元素可以,反之不行. 2.如果鼠标点击对话框后,也可以Esc键关闭. 可 ...

  9. Android学习(十九)Dialog对话框

    一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗 ...

  10. 事件监听机制——列出指定目录内容、添加Dialog对话框

    事件监听机制理解与Dialog练习 利用Java语言,仿照我的电脑目录进行打开目录,输入文件路径,查看该路径下所有的文件,设置两个文本框,一个转到按钮,当点击转到按钮时,查看路径是否正确,若正确在第二 ...

随机推荐

  1. iOS: imageIO完成渐进加载图片

    imageIO完成渐进加载图片 不得不说,人都是有惰性的,一个月又快结束了,这个月虽说有点儿忙,但是绝对不差写几篇博客的时间,有时间去n次桌球厅,有时间玩n把英雄联盟,所谓小撸怡情大撸伤身,这个月游戏 ...

  2. MySQL 5.6 Warning: Using a password on the command line interface can be insecure

    MySQL 5.6 在命令行输入密码,就会提示这些安全警告信息. Warning: Using a password on the command line interface can be inse ...

  3. [Effective JavaScript 笔记]第54条:将undefined看做“没有值”

    undefined值很特殊,每当js无法提供具体的值时,就会产生undefined. undefined值场景 未赋值的变量的初始值即为undefined. var x; x;//undefined ...

  4. Public and Private Interfaces in ruby

    Your latest client is a bank, and they’ve tasked you with requiring customers to enter their passwor ...

  5. windows 程序的本体与操作系统之间的关系

    WinMain(hInst,hPrev,……) { MSG msg; RegisterClass(……); CreateWindow(……); ShowWindow(……); UpdateWindow ...

  6. [ZJOI3527][Zjoi2014]力

    [ZJOI3527][Zjoi2014]力 试题描述 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi.试求Ei. 输入 包含一个整数n,接下来n行每行输入一个数,第i行表示qi. 输出 有n ...

  7. 减小Delphi2010程序的尺寸(关闭RTTI反射机制)

    自从Delphi2010增强了RTTI反射机制后,编译出来的程序变得更大了,这是因为默认情况下 Delphi2010 给所有类都加上了RTTI信息(呵呵,不管你用不用它,好像实用价值确实不高,至少目前 ...

  8. Linux system V

    Sysvinit 的小结 Sysvinit 的优点是概念简单.Service 开发人员只需要编写启动和停止脚本,概念非常清楚:将 service 添加/删除到某个 runlevel 时,只需要执行一些 ...

  9. 阿里云vps上mysql挂掉的解决办法

    阿里云vps上mysql挂掉的解决办法 4条回复 用阿里云的vps用作blog服务器,系统很稳定,已经100多天一直运行正常,大概从上个月开始发现blog的mysql会有时挂掉,会收到短信通知.之前没 ...

  10. linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )

    在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略 ...