android 组件之 AlertDialog

介绍:

        AlertDialog: 一个可以有0到3个按钮, 一个单选框或复选框的列表的对话框。 警告对话框可以创建大多数的交互界面, 是推荐的类型。   

        AlertDialog 常用于"程序提醒"、"警告" 或 "确认"等的Dialog窗口,主要目的是与User 确认及互动。

        AlertDialog是User Interface中必须要学会的技巧之一。

API:

java.lang.Object

   

android.app.AlertDialog.Builder

使用AlertDialog是不可以直接创建Dialog的,需要通过AlertDialog.Builder()创建。

使用AlertDialog.Builder创建对话框需要了解以下几个方法:     

       *  setTitle :为对话框设置标题

       *  setIcon :为对话框设置图标

       *  setMessage:为对话框设置内容

       *  setCancelable :为对话框设置状态(默认能使用back键来取消)

       *  setView : 给对话框设置自定义样式

       *  setItems :设置对话框要显示的一个list,一般用于显示几个命令时。

       *  setMultiChoiceItems:用来设置对话框显示一系列的复选框。

       *  setNeutralButton   :中性对话框(对话框中有三个按钮时,此可以设置为一般)

       *  setPositiveButton  :给对话框添加"Yes"按钮

       *  setNegativeButton:对话框添加"No"按钮

       *  create : 创建对话框

       *  show :显示对话框


下面介绍,AlertDialog的集中常见类型:

   1.  弹出一个简单的消息框

    new  AlertDialog.Builder(类名.this)

    .setTitle(" 标题 ")

    .setMessage("这是提示内容")

    .setPositiveButton("确定", new DialogInterface.OnClickListener() {

                  
             @Override
             public void onClick(DialogInterface arg0, int arg1) {
                  
                   //点击确认以后, 需要进行的操作
            }
    })

    .show();

 

  2.  弹出 确定 取消 对话框

       new AlertDialog.Builder(MainActivity.this)
                .setTitle(R.string.app_name)
                .setMessage("this is a Dialog !")
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                        // TODO Auto-generated method stub
                        //
                    }
                })
                .setNegativeButton("NO", new DialogInterface.OnClickListener() {
                    
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                        // TODO Auto-generated method stub
                        finish();
                    }
                }).show();


  3.  .弹出输入框型对话框

    new AlertDialog.Builder(MainActivity.this)
                .setTitle(R.string.app_name)
                .setView(new EditText(MainActivity.this))
                .setPositiveButton("确定", null)
                .setNegativeButton("取消", null)
                .show();


  4.  设置带有图片的弹出框

                ImageView imageView = new ImageView(MainActivity.this);
                imageView.setImageResource(R.drawable.ic_launcher);
                new AlertDialog.Builder(MainActivity.this)
                .setTitle(R.string.app_name)
                .setView(imageView)  //设置图片
                .setPositiveButton("确定",null)
                .setNegativeButton("取消", null)
                .show();


5.   弹出列表框对话框

                String[] array = new String[] {"列表1", "列表2", "列表3"};
                new AlertDialog.Builder(MainActivity.this)
                .setIcon(R.drawable.ic_launcher)
                .setTitle("列表框")
                .setItems(array, null)
                .setPositiveButton("确定",null)
                .setNegativeButton("取消", null)
                .show();

     setItems()的第二个参数是为列表框设置监/听器


6.    弹出单选框对话框

                String[] array = new String[] {"item1", "item2", "item3","item4"};
                new AlertDialog.Builder(MainActivity.this)
                .setIcon(R.drawable.ic_launcher)
                .setTitle("单选框")
                .setSingleChoiceItems(array, 1, null)
                .setPositiveButton("确定",null)
                .setNegativeButton("取消", null)
                .show();

          setSingleChoiceItems()的第二个参数为设置单选框 初始选中项(为数组array的下标), 第三个参数是为单选框设置监/听器.


7.   弹出多选框对话框

                String[] array = new String[] {"item1", "item2", "item3","item4"};
                boolean[] selected = new boolean[] { true, true, false,false }; //与array数组中的元素对应

                new AlertDialog.Builder(MainActivity.this)
                .setIcon(R.drawable.ic_launcher)
                .setTitle("多选框")
                .setMultiChoiceItems(array, selected, null)
                .setPositiveButton("确定",null)
                .setNegativeButton("取消", null)
                .show();

  setMultiChoiceItems()第二个参数为boolean型的数组,表示初始时被选中的项,若设为null,则都不选中。第三个参数为多选框设置监/听器.


 注:有点小白,不会传图~~,自己测试一下就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值