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. HDOJ 4731 Minimum palindrome

    Minimum palindrome Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  2. cocos基础教程(12)点击交互的三种处理

    1.概述 游戏也好,程序也好,只有能与用户交互才有意义.手机上的交互大致可以分为两部分:点击和输入.其中点击更为重要,几乎是游戏中全部的交互.在Cocos2d-x 3.0中,更改了dispatch机制 ...

  3. 关于NGUI的动态加载后的刷新显示问题,解决办法!!

    http://momowing.diandian.com/post/2012-09-06/40038001275 最近碰NGUI用到它的动态列表功能(ps:就是加东西,删除东西).我这里用的是UIDr ...

  4. PHP随笔

    php(PHP开发) PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,易于学习,使用广泛 ...

  5. ZJOI 游记

    在备战YZ提前招生考时去ZJOI玩了趟,ZJ果然人才辈出= =神犇讲课各种神听不懂啊orz day 0 Mon. 上午在AB班愉快地玩耍,下午就去HZ了. HZ真热啊... 学军也是节约= =空调都不 ...

  6. 利用nginx泛域名解析配置二级域名和多域名

    利用nginx泛域名解析配置二级域名和多域名 网站的目录结构为 html ├── bbs └── www html为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径 www为 ...

  7. JavaScript常用事件

    一般事件 事件 浏览器支持 描述 onClick HTML: 2 | 3 | 3.2 | 4   Browser: IE3 | N2 | O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 on ...

  8. Count Numbers with Unique Digits

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...

  9. 要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。

    1.在网站根目录下新建一scripts文件夹,向里边添加jquery-1.7.2.min.js和jquery-1.7.2.js(可根据自己需要使用不同的版本),      2.在根目录下添加全局应用程 ...

  10. 【转】推荐一款Java反编译器,比较好用

    转自:http://www.blogjava.net/xmatthew/archive/2008/10/28/237203.html 推荐一款Java反编译器,也使用了挺久的了,感觉还是很好用,就拿出 ...