Android中九种dialog对话框代码
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对话框代码的更多相关文章
- (转载)Android常用的Dialog对话框用法
Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的 ...
- Android之UI--打造12种Dialog对话框
最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...
- Android UI系列-----Dialog对话框
您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...
- Android Activity作为dialog对话框的使用详细介绍
Activity做为Android应用层四大组件的重要组成部分,它的灵活性.可扩性无论是在应用还是游戏方面都得到了广泛应用,本文主要介绍Activity作为dialog对话框 的使用方法进行说明. 本 ...
- Android常用的Dialog对话框用法
Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog. im ...
- Android Dialog对话框的七种形式的使用
参考资料:http://www.oschina.net/question/54100_32486 注:代码进行了整理 在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询 ...
- Android中Dialog对话框的调用及监听
Android中经常会需要在Android界面上弹出一些对话框提示用户,比如App的退出的时候都会有各种框来挽留你的心,支付宝的时候输入密码的密码框,非常常见及其实用的功能,类似于JS中的alter, ...
- Android学习(十九)Dialog对话框
一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗 ...
- Android中制作自定义dialog对话框的实例
http://www.jb51.net/article/83319.htm 这篇文章主要介绍了Android中制作自定义dialog对话框的实例分享,安卓自带的Dialog显然不够用,因而我们要继 ...
随机推荐
- D16Pascal的编译器和IDE
https://github.com/Memnarch/D16Pascal https://github.com/Memnarch/D16IDE https://github.com/Memnarch ...
- 如何查看VS中预设的路径变量
类似"$(VCInstallDir)"之类的变量查询方法为:打开VS命令行提示窗口,输入 Set 命令. VS中“Tool” - “Visual Studio Command Pr ...
- springMVC 使用jstl
jsp页面获取数据,感觉最方便的就是使用jstl+EL了,各种封装好的函数非常简单易用,接下来写如何使用jstl: 1.下载jstl-1.2_1.jar 2.由于项目是: xmlns="ht ...
- 如何使用NArrange进行代码优化
Narrange是一个.NET代码管理工具.它可以对源代码自动进行美化和把类成员分成一个组.区域.目前支持C#.VB.NET,将来会支持更多.NET上的语言. 主要的作用是: ◆ 减少程序员的开发时间 ...
- hdu1200(来来回回串起来)
Problem Description Mo and Larry have devised a way of encrypting messages. They first decide secret ...
- 操作系统栈溢出检測之ucosII篇
操作系统栈溢出检測之uc/osII篇 Author : David Lin (林鹏) E-mail : linpeng1 ...
- Java中int类型和tyte[]之间转换及byte[]合并
JAVA基于位移的 int类型和tyte[]之间转换 [java] view plaincopy /** * 基于位移的int转化成byte[] * @param int number * @retu ...
- nginx+memcached+ftp上传图片+iis
nginx+memcached+ftp上传图片+iis 自毕业以来,一直在现在公司做订餐系统的开发,那会儿没有口碑,没有饿了么,更别说美团外卖,百度外卖了...因为规模都比较小,都是一个服务器包含数据 ...
- 《Head First 设计模式》学习笔记——状态模式
在软件开发过程中.应用程序可能会依据不同的情况作出不同的处理. 最直接的解决方式是将这些全部可能发生的情况全都考虑到.然后使用if... ellse语句来做状态推断来进行不同情况的处理. 可是对复杂状 ...
- python学习教程(九)sqlalchemy框架的modern映射
首先写一个modern.py文件, from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Col ...