Dialog 基本使用

1   :  效果图

btnGeneral.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                AlertDialog.Builder builder = new AlertDialog.Builder(
                        MainActivity.this);
                builder.setTitle("提示");
                builder.setMessage("这是一个普通的对话框!");
                builder.setIcon(R.drawable.ic_launcher);
                builder.setCancelable(false);  //必须采取行动
                builder.setPositiveButton("知道了!", new OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    }
                });
                builder.create().show();
            }
 });

2 : 效果图

/*而除了专门为按钮点击实现的DialogInterFace.OnClickListener事件外,DialogInterface还提供了一些其他的事件,供Dialog对象响应,这些事件只是对Dialog声明周期各个状态的响应,一看就明白了,就不再详细讲解了,下面是这几个事件的说明:

interface DialogInterface.OnCancelListener:当对话框调用cancel()方法的时候触发。
interface DialogInterface.OnDismissListener:当对话框调用dismiss()方法的时候触发。
interface DialogInterface.OnShowListener:当对话框调用show()方法的时候触发。
interface DialogInterface.OnMultiChoiceListener:当对话框使用多选列表,并且选中的时候触发*/
btnButtons.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                AlertDialog.Builder builder = new AlertDialog.Builder(
                        MainActivity.this);
                builder.setTitle("提示");
                builder.setMessage("这是一个多按钮普通的对话框!");
                builder.setIcon(R.drawable.ic_launcher);
                builder.setPositiveButton("确定", new OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "确定被点击",
                                Toast.LENGTH_SHORT).show();
                        dialog.dismiss();
                    }
                });
                builder.setNegativeButton("否定", new OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        Toast.makeText(MainActivity.this, "否定被点击",
                                Toast.LENGTH_SHORT).show();
                        dialog.dismiss();
                    }
                });
                builder.setNeutralButton("忽略", new OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        Toast.makeText(MainActivity.this, "忽略被点击",
                                Toast.LENGTH_SHORT).show();
                        dialog.cancel();
                    }
                });
                builder.show();
            }
});

3. 效果图

btnListViewSingle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                AlertDialog.Builder builder = new AlertDialog.Builder(
                        MainActivity.this);
                builder.setTitle("请选择一下城市");
                builder.setSingleChoiceItems(items, 1, new OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        String select_item = items[which].toString();
                        Toast.makeText(MainActivity.this,
                                "选择了--->>" + select_item, Toast.LENGTH_SHORT)
                                .show();
                    }
                });
                builder.setPositiveButton("确定", new OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
                builder.show();
            }
});

4: 效果图

btnListViewMulti.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                AlertDialog.Builder builder = new AlertDialog.Builder(
                        MainActivity.this);
                builder.setTitle("请选择城市");
                builder.setMultiChoiceItems(items, new boolean[] { true, false,
                        true }, new OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which,
                            boolean isChecked) {
                        // TODO Auto-generated method stub
                        String select_item = items[which].toString();
                        Toast.makeText(MainActivity.this,
                                "选择了--->>" + select_item, Toast.LENGTH_SHORT)
                                .show();
                    }
                });
                builder.setPositiveButton("确定", new OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
                builder.show();
            }
  });

5 :效果图  :  自定义dialog

btnCustomDialog.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog_signin,null);
                Button btn=(Button)view.findViewById(R.id.btnCustom);
                btn.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        alertDialog.dismiss();
                        Toast.makeText(MainActivity.this, "表单填写完成",
                                Toast.LENGTH_SHORT).show();
                    }
                });
                builder.setView(view);   // 设置上 LayoutInflater
                alertDialog=builder.show();
            }
 });

6 : 效果图 ProgressDialog

btnProgressDialog.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // 第一种方法,使用ProgressDialog构造函数
                progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setIcon(R.drawable.ic_launcher);
                progressDialog.setTitle("等待");
                progressDialog.setMessage("正在加载....");
                progressDialog.show();
                //第二种方法,使用静态的show方法
                //progressDialog=ProgressDialog.show(MainActivity.this, "等待", "正在加载....", false, false);
                new Thread(new Runnable() {

                    @Override
                    public void run() {
                        try {
                            Thread.sleep(5000);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        finally{
                            progressDialog.dismiss();
                        }
                    }
                }).start();
            }
});
时间: 2024-10-10 04:19:49

Dialog 基本使用的相关文章

从零开始学android -- dialog

先看个效果图 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match

用dialog在前台实现一个简单的UI对话框

<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>对话框部件(Dialog Widget)演示</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.m

android 2.x上Dialog特定情况导致无法dismiss的bug

近期在做一个简单的对话框框架,作用不过做出一个显示效果在android 2.x到android 4.x上均类似的对话框. 思路比較简单,就是使用装饰模式包裹Dialog,暴露的接口调用时会自己主动完毕一些设置 可是遇到一个特别诡异的问题,在android 2.x上的Dialog对话框无法被dismiss,仅仅要弹出来界面就卡死,强行使用eclipse又一次run的话会导致android设备黑屏无响应,假设是模拟器,则直接崩溃,看到启动画面.并且这个还不是ANR错误. 后来通过删减代码找到了问题的

weui dialog 效果

切记:weui dialog 的样式是在weui.css,而不是在weui.min.css HTML: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0" /> <

Android 对话框 Dialog

对话框 Dialog 什么是对话框 对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息, 或显示某种状态.如 :  显示进度条对话框, 退出提示. 对话框的特点: 1, 当前界面弹出的小窗口. 2, 用户要与它进行交互, 可以接收用户输入的信息, 也可以反馈信息给用户. 常用对话框: 1, 普通对话框 AlertDialog 2, 进度条对话框  ProgressDialog 3, 日期对话框    DatePickerDialog 4, 时间对话框

Android 弹出对话框Dialog充满屏幕宽度

final View view = LayoutInflater.from(context).inflate(layoutId, null); final Dialog dialog = new Dialog(context, R.style.style_dialog); dialog.setContentView(view); dialog.show(); Window window = dialog.getWindow(); window.setGravity(Gravity.BOTTOM)

Android 自定义Dialog类,并在Activity中实现按钮监听。

实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的按钮,Dialog类如下,在MyDialog这个类中实现了一个LeaveMyDialogListener接口,用来实现onclick的点击事件: package com.Ieasy.Tool; import com.Ieasy.ieasyware.R; import android.app.Dialog

bootstrap中dialog水平垂直居中

方法一: HTML: <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">     Launch demo modal </button> <!-- Modal --> <div class="modal fade" id=&q

jquery easyui 调用dialog的两种方式

1. <div class="easyui-dialog" id="dd" title="My Dialog" style="width:400px;height:200px;"> Dialog Content. helloWord </div> 2. <script type="text/javascript"> $(function(){ $('#dd').dialo

App更新之dialog数字进度条

App更新之dialog数字进度条 前言:现在一般的Android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新.当有更新时,会弹出一个提示框,点击下载,则在通知来创建一个数字进度条进行下载,下载成功后才到安装界面. 效果: 开发环境:AndroidStudio2.2.1+gradle-2.14.1 涉及知识: 1.Handler机制 2.自定义控件+Canvas绘画 3.自定义dialog 部分代码: public class NumberProg