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显然不够用,因而我们要继 ...
随机推荐
- Eclipse用法和技巧二十六:浅谈快捷键
网络上到处都是eclipse有哪些常用的快捷键,其中还有很多讲得着实不错,这里就不再狗尾续貂而是谈谈别的这段时间的一些思考.最近加入了开发团队,代码量突突的上去了,同时也发现关于快捷键还是有很多细节, ...
- Android 之 Fragment
一 左侧标题列表 1.1 布局 left_fragment.xml <ListView xmlns:android="http://schemas.android.com/apk/ ...
- URAL 1707. Hypnotoad's Secret(树阵)
URAL 1707. Hypnotoad's Secret space=1&num=1707" target="_blank" style="" ...
- Swift - 访问通讯录联系人(使用纯代码实现)
1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码 ...
- perl lwp编码
$var= $response->content; $var= $response->decoded_content;
- 基于visual Studio2013解决面试题之0807strstr函数
题目
- android用shape画虚线,怎么也不显示
一直以为android的shape能画直线.虚线.矩形,圆形等.画直线也就算了.用一个view设一下高度和颜色,就能够出来一条直线了.所以说这个对我来说常常不用,圆形是能够,看看我应用里的消息提 ...
- Spark on Mesos: 搭建Mesos的一些问题
资源管理系统 Spark可以搭建在Mesos上或YARN上,两个都是资源管理系统.了解资源管理系统的话,可以先参看以下几篇文章: 浅谈Borg/YARN/Mesos/Torca/Corona一类系统 ...
- Matlab图像处理系列2———空间域平滑滤波器
注:本系列来自于图像处理课程实验,用Matlab实现最主要的图像处理算法 本文章是Matlab图像处理系列的第二篇文章.介绍了空间域图像处理最主要的概念----模版和滤波器,给出了均值滤波起和中值滤波 ...
- 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)
前言 由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇博文.(之前看小强也写过一篇,这里通过自身的分析完整的总结一下以下6种 ...