android入门 — AlertDialog对话框

  常见的对话框主要分为消息提示对话框、确认对话框、列表对话框、单选对话框、多选对话框和自定义对话框。

  对话框可以阻碍当前的UI线程,常用于退出确认等方面。

  在这里主要的步骤可以总结为:
  1.创建AlertDialog.Builder对象;

  2.调用setTitle()或setCustomTitle()方法设置标题;

  3.调用setIcon()设置图标;

  4.调用setPositiveButton()、setNegativeButton()或setNeturalButton()添加按钮;

  5.调用AlertDialog.Builder的create()方法来创建AlertDialog对象;

  6.调用AlertDialog.Builder的show()方法将对话框显示出来。

  这一部分,主要使用的是设计模式中的建造者模式,将东西提供给builder,然后会组装成一个完整的对话框。

①显示提示消息的对话框

  

                                        public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id)
                                        {
                                            new AlertDialog.Builder(this)
                                            .setIcon(R.drawable.ic_4)
                                            .setTitle("提示")
                                            .setMessage("这是一个提示信息")
                                            //处理对话框的时候往往是在一个事件中处理,所以此时使用内部类的方式去做
                                            .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                                                @Override
                                                public void onClick(DialogInterface dialog, int which) {
                                                    //注意这里的this必须要修改,因为是在内部类中,所以直接使用this指的是这个内部类,所以需要修改
                                                    Toast.makeText(MainActivity.this, "点击了确认", Toast.LENGTH_SHORT).show();
                                                }
                                            })
                                            .show();
                                            return true;
                                        }

设置了图标、标题和提示信息等属性。

②确认对话框

         public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id)
                            {
                                new AlertDialog.Builder(this)
                                        .setIcon(R.drawable.ic_4)
                                        .setTitle("提示")
                                        //可以设置null,表示在点击之后什么都不做,没有后续的处理
                                        //只是使得对话框消失
                                        .setNegativeButton("取消", null)
                                        //处理对话框的时候往往是在一个事件中处理,所以此时使用内部类的方式去做
                                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                                            @Override
                                            public void onClick(DialogInterface dialog, int which) {
                                                //注意这里的this必须要修改,因为是在内部类中,所以直接使用this指的是这个内部类,所以需要修改
                                                //Toast.makeText(MainActivity.this, "点击了确认", Toast.LENGTH_SHORT).show();

                                                //也可以使用finish()结束当前activity的生命周期,变为不可见,之后还可以使用这个activity的资源
                                                //如果当前的activity是主界面,那么activity栈就变成空的,
                                                finish();

                                                //如果调用exit()则是
                                                //System.exit(0);
                                            }
                                        })
                                        .show();
                                return true;
                            }

  在这里添加了图标、标题。

  主要的改变是增加了setNegativeButton()方法和setPositiveButton()方法,用来点击确认或者取消。

③列表对话框

 public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id)
                                    {
                                        final String[] arr = {"水可载舟,亦可赛艇。", "不要总想搞大新闻!", "西方哪个国家我没去过?", "too young,too simple!"};
                                        new AlertDialog.Builder(this)
                                                .setIcon(R.drawable.ic_4)
                                                .setTitle("提示")
                                                .setItems(arr, new DialogInterface.OnClickListener() {
                                                    @Override
                                                    public void onClick(DialogInterface dialog, int which) {
                                                        Toast.makeText(MainActivity.this, "您选择了: " + arr[which], Toast.LENGTH_SHORT).show();
                                                    }
                                                })
                                                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                                                    @Override
                                                    public void onClick(DialogInterface dialog, int which) {

                                                    }
                                                })
                                                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                                                    @Override
                                                    public void onClick(DialogInterface dialog, int which) {

                                                    }
                                                })
                                                .show();
                                        return true;
                                    }

  首先会定义一个字符数组,然后在onClick()中将字符数组与之绑定。

  

时间: 2024-10-11 17:02:12

android入门 — AlertDialog对话框的相关文章

Android中 Alertdialog对话框点击消失?

在开发的时候遇到一个问题,就是一触摸对话框边缘外部,对话框会自动消失.这个问题很纠结啊,查找了一下发现从Android 4.0开始,AlertDialog有了变化,就是在触摸对话框边缘外部,对话框会自动消失,查了源码,找到解决办法: 研究其父类时候发现,可以设置这么一条属性,在AlertDialog.Builder.create()之后才能调用这两个方法 方法一: setCanceledOnTouchOutside(false);调用这个方法时,按对话框以外的地方不起作用.按返回键还起作用 方法

Android:AlertDialog对话框

1.简单的ALertDialog: Dialog alertDialog = new AlertDialog.Builder(this) .setTitle("标题") .setMessage("内容") .setIcon(R.drawable.ic_launcher).create(); alertDialog.show(); 2.带按钮的ALertDialog public class MainActivity extends Activity { okList

【Android】Android中AlertDialog对话框的使用实例

package com.ceac.deng; import android.R.string; import android.support.v7.app.ActionBarActivity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.os.Bundle; import android.

Android入门——AlertDialog和ProgressDialog总结

引言 在我们程序开发中,用户体验始终是一项十分重要的指标,通常为了良好的用户体验,在确认一些敏感或者数据操作更新之前允许客户反悔即让用户拥有更多的自主性,而Android开发中是借助对话框Dialog系.Popupwindow和Dialog样式的Activity来实现. 一.Dialog及其衍生类 Android里Dialog作为对话框系的基类,我们一般不会直接去使用Dialog而是使用他的子类,比如说AlertDialog, DatePickerDialog, ProgressDialog,

Android中AlertDialog对话框禁止按[返回键]或[搜索键]

alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode,KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_SEARCH) { return true; } else { return false; // 默认返回 false } } })

Android基础入门教程——2.5.3 AlertDialog(对话框)详解

Android基础入门教程--2.5.3 AlertDialog(对话框)详解 标签(空格分隔): Android基础入门教程 本节引言: 本节继续给大家带来是显示提示信息的第三个控件AlertDialog(对话框),同时它也是其他 Dialog的的父类!比如ProgressDialog,TimePickerDialog等,而AlertDialog的父类是:Dialog! 另外,不像前面学习的Toast和Notification,AlertDialog并不能直接new出来,如果你打开 Alert

【转】Android详细的对话框AlertDialog.Builder使用方法

Android详细的对话框AlertDialog.Builder使用方法 我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框.当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必

11.Android之常用对话框AlertDialog学习

(1)首先我们写个简单的AlertDialog对话框,要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法,然后创建对话框可以设置对话框的属性,比如设置标题.图标.内容等等. 修改下MainActivity.java方法(Android Studio工具下): 1 package com.example.administrator.dialog1; 2 3 import android.app.Activity; 4 import androi

android中提示&amp;对话框----AlertDialog

AlertDialog(对话框) 一.对话框的基本使用流程 step1:创建AlertDialog.Buider; step2:调用setIcon()设置图标,setTitle()或者setCustomerTitle设置标题 step3:设置对话框的内容setMessage()还有其他方式: step4:setPosition/Negative/NaturalButton设置:确定.取消.中立 step5:调用create()方法创建这个对象,在调用show()方法将对话框显示出来 二.几种常用