public class MainActivity extends Activity {

	private static final int MAX_PROGRESS = 100;
private static final int PRO = 10;
private Handler handler; private int progress=10;
private ProgressDialog progressDialog; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//显示视图
setContentView(R.layout.activity_main); } public void openDialog(View v) { //调用 方法
//test1();
tes8();
//myDialog(); } public void test1() {
// 创建对话框对象
AlertDialog alertDialog = new AlertDialog.Builder(this).create(); // 设置对话框的标题
alertDialog.setTitle("XXXXX");
// 设置对话框中的内容
alertDialog.setMessage("消息");
// 显示对话框
alertDialog.show();
} public void tes2() {
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("xxxx").setMessage("xxxx").show(); } // 对话框
public void tes3() {
new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_launcher)
.setTitle("xxxx")
.setMessage("是否创建文件")
.setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// 创建文件了
new AlertDialog.Builder(MainActivity.this).setMessage(
"文件已经被创建").show();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
new AlertDialog.Builder(MainActivity.this)
.setMessage("您已经选择了取消的按钮,该文件不会被创建").create()
.show(); }
}).show();
} public void tes4() {
final String items[] = { "Java", "PHP", "3G", ".NET" }; new AlertDialog.Builder(this).setTitle("简单列表对话框")
.setItems(items, new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// 第一个参数 dialog int which 那个条目
Toast.makeText(getApplicationContext(),
"xxxxx" + items[which], Toast.LENGTH_LONG)
.show(); }
}).show();
} public void tes5() {
final String items[] = { "Java", "PHP", "3G", ".NET" }; new AlertDialog.Builder(this).setTitle("单选列表对话框") // 数据集中的某一列会作为列表对话框的数据加载的列表框中,该参数表示该列的名称(字段名称)
.setSingleChoiceItems(items, 1,
new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog,
int which) {
// 第一个参数 dialog int which 那个条目
Toast.makeText(getApplicationContext(),
"xxxxx" + items[which],
Toast.LENGTH_LONG).show(); }
}).show(); } public void tes6() { final String items[] = { "Java", "PHP", "3G", ".NET" }; new AlertDialog.Builder(this)
.setTitle("多选列表对话框") .setMultiChoiceItems(items,
new boolean[] { false, true, true, false },
new DialogInterface.OnMultiChoiceClickListener() { @Override
public void onClick(DialogInterface dialog,
int which, boolean isChecked) { if (isChecked) {
Toast.makeText(getApplicationContext(),
"xxx" + items[which],
Toast.LENGTH_LONG).show();
} }
})
.setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "确认",
Toast.LENGTH_LONG).show();
}
}).show(); } //自定义的对话框
public void myDialog(){
LayoutInflater layoutInflater = getLayoutInflater();
View view = layoutInflater.inflate(R.layout.activity_main, null); //R.layout.activty_main自定义的布局文件
new AlertDialog.Builder(this).setView(view).setTitle("自定义的对话框").setPositiveButton("确认按钮", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
//处理 }
}).show();
} //进度条对话框
public void tes8(){
handler = new Handler() { @Override
public void handleMessage(Message msg) { super.handleMessage(msg);
switch (msg.what) {
case PRO: if (progress >= MAX_PROGRESS) {
// 重新设置
progress = 0;
progressDialog.dismiss();// 销毁对话框
} else {
progress++;
progressDialog.incrementProgressBy(1); // 延迟发送消息
handler.sendEmptyMessageDelayed(PRO, 100);
}
break;
default:
break;
} }
}; progressDialog = new ProgressDialog(this);
progressDialog.setIcon(R.drawable.ic_launcher);
progressDialog.setTitle("正在处理数据......");
progressDialog.setMessage("请稍后...");
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条对话框
// 样式(水平,旋体) // 进度最大值
progressDialog.setMax(MAX_PROGRESS); progressDialog.setButton("暂停", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
//删除消息队列
handler.removeMessages(PRO); }
}); progressDialog.setButton2("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) { //删除消息队列
handler.removeMessages(PRO);
//恢复进度初始值
progress=0;
progressDialog.setProgress(progress);
}
}); // 显示
progressDialog.show(); //必须设置到show之后 show之前 可能bug
progress = (progress>0)?progress:0;
progressDialog.setProgress(progress); // 线程
handler.sendEmptyMessage(PRO);
}
}

Android中九种dialog对话框代码的更多相关文章

  1. (转载)Android常用的Dialog对话框用法

    Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的 ...

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

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

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

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

  4. Android Activity作为dialog对话框的使用详细介绍

    Activity做为Android应用层四大组件的重要组成部分,它的灵活性.可扩性无论是在应用还是游戏方面都得到了广泛应用,本文主要介绍Activity作为dialog对话框 的使用方法进行说明. 本 ...

  5. Android常用的Dialog对话框用法

    Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog. im ...

  6. Android Dialog对话框的七种形式的使用

    参考资料:http://www.oschina.net/question/54100_32486 注:代码进行了整理 在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询 ...

  7. Android中Dialog对话框的调用及监听

    Android中经常会需要在Android界面上弹出一些对话框提示用户,比如App的退出的时候都会有各种框来挽留你的心,支付宝的时候输入密码的密码框,非常常见及其实用的功能,类似于JS中的alter, ...

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

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

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

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

随机推荐

  1. android 中webview调用js

    1.android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true ...

  2. PHP - 操作MySQL数据库

    第16章 PHP操作MySQL 学习要点: 1.PHP连接到MySQL 2.增删改查 3.其他常用函数 如果你已经具有了使用PHP.SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起.P ...

  3. javascript笔记整理(变量作用域)

    变量的作用域(作用域:指的就是一段代码的作用范围) 一.变量的作用域 1.全局变量(在代码中任何地方都能够访问得到的变量,拥有全局的作用域) A.最外层函数外面定义的变量 var a=1; funct ...

  4. leetcode——Search a 2D Matrix 二维有序数组查找(AC)

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  5. Android UI 学习 自定义的布局 平滑移动 VelocityTracker()

    /**  * Helper for tracking the velocity of touch events, for implementing  * flinging and other such ...

  6. win2k/xp查看当前进程

    win2k/xp查看当前进程 tasklist tasklist | find "关键字" 可以对结果进行过滤 关闭当前某个进程 taskkill /pid 程序的PID号码 wi ...

  7. Kendo UI开发教程(23): 单页面应用(一)概述

    Kendo单页面应用(Single-Page Application,缩写为SPA)定义了一组类用于简化Web应用(Rich Client)开发,最常见的单页面应用为Gmail应用,使用单页面可以给用 ...

  8. linux设备驱动程序注冊过程具体解释

    Linux的驱动程序注冊过程,大致分为两个步骤: 模块初始化 驱动程序注冊 以下以内核提供的演示样例代码pci-skeleton.c,具体说明一个pci设备驱动程序的注冊过程.其它设备的驱动代码注冊过 ...

  9. PO经批准的订单API

    DECLARE l_return_status VARCHAR2(1); l_exception_msg VARCHAR2(4000); BEGIN mo_global.set_policy_cont ...

  10. hadoop拷贝文件时 org.apache.hadoop.ipc.RemoteException异常的解决

    1.系统或hdfs是否有空间 2.datanode数是否正常 3.是否在safemode 4.防火墙关闭 5.配置方面 6.把NameNode的tmp文件清空,然后重新格式化NameNode