详解-Android各种提示框

首先我们来看看效果图

在这里插入图片描述

1.简单的消息提示框
// 简单消息提示框  
private void showExitDialog01(){  
    new AlertDialog.Builder(this)  
        .setTitle("标题")  
        .setMessage("简单的消息提示框")  
        .setPositiveButton("确定", null)  
        .show();  
}  

其中this代表的是上下文context的意思,这里的this代表当前Activity的引用,为什么使用this能传递一个context呢?因为Activity本身就是Context的一个子类。
setTitle:设置标题文字
setMessage:设置对话框显示内容
setPositiveButton:设置确认按钮,第二个参数可以传入一个监听事件,可以自定义确认按钮的事件监听
show:显示该对话框

2.带“是”和“否”的提示框
// 带“是”和“否”的提示框  
private void showExitDialog02(){  
    new AlertDialog.Builder(this)  
        .setTitle("带确定键的提示框")  
        .setMessage("确定吗")  
        .setPositiveButton("是", null)  
        .setNegativeButton("否", null)  
        .show();  
}  

setNegativeButton:设置否定按钮,第二个参数可以传入自定义的事件监听,为null则使用系统默认的事件监听

3.可输入文本的提示框
// 可输入文本的提示框  
private void showExitDialog03(){  
    final EditText edt = new EditText(this);  
    edt.setMinLines(3);  
    new AlertDialog.Builder(this)  
        .setTitle("请输入")  
        .setIcon(android.R.drawable.ic_dialog_info)  
        .setView(edt)  
        .setPositiveButton("确定", new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface arg0, int arg1) {  
                text_01.setText(edt.getText().toString());  
            }  
        })  
        .setNegativeButton("取消", null)  
        .show();  
}  

edt.setMinLines(3):设置输入框最小文本行数
setIcon:设置对话框标题图标,这里使用的是android自带的图片,我们也可以使用自己的图标
setView:给对话框添加View控件,这个控件可以是EditText,也可以是ImageView,也可以是TextView等等,只要继承了View的控件都可以传入
new DialogInterface:这里需要注意,一定要导入正确的包,不是View类下的OnClickListener,而是DialogInterface类下的OnClickListener

4.单选提示框
// 单选提示框  
private void showExitDialog04(){  
    new AlertDialog.Builder(this)  
        .setTitle("请选择")  
        .setIcon(android.R.drawable.ic_dialog_info)  
        .setSingleChoiceItems(new String[]{"选项1","选项2","选项3","选项4","选项5","选项6"}, -1, new DialogInterface.OnClickListener(){  
            public void onClick(DialogInterface arg0, int arg1) {  
                switch (arg1) {  
                case 0:text_01.setText("选择了一");break;  
                case 1:text_01.setText("选择了二");break;  
                case 2:text_01.setText("选择了三");break;  
                default: break;  
                }  
                arg0.dismiss();  
            }  
        })  
        .setNegativeButton("取消", null)  
        .show();  
}  

setSingleChoiceItems:创建带单选按钮的列表,它有多种载入数据的方式,这里我们使用的是从字符串数组中装载数据,几个方式分别为

  1. 从资源文件中加载数据
    public Builder setSingleChoiceItems(int itemsId, int checkedItem, final OnClickListener listener)
  2. 从数据集中加载数据
    public Builder setSingleChoiceItems(Cursor cursor, int checkedItem, String labelColumn, final OnClickListener listener)
  3. 从字符串数组中加载数据
    public Builder setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)
  4. 从ListAdapter对象中加载数据
    public Builder setSingleChoiceItems(ListAdapter adpater, int checkedItem, final OnClickListener listener)

第一个参数为要加载的数据,第二个参数为默认选中的按钮,如果为0则代表第一个项目被选中,为-1则代表没有项目被选中。第三个参数可为单选列表的项目设置监听事件
onClick(DialogInterface arg0, int arg1):其中arg0代表的是当前对话框对象,可以使用arg0.dismiss来关闭当前对话框,arg1代表单选列表中单个项目的位置

5.多选提示框
// 多选提示框  
private void showExitDialog05(){  
    new AlertDialog.Builder(this)  
        .setTitle("多选框")  
        .setMultiChoiceItems(new String[]{"选项1","选项2","选项3","选项4","选项5","选项6"}, null, null)  
        .setPositiveButton("确定",null)  
        .setNegativeButton("取消",null)  
        .show();  
}  

setMultiChoiceItems:创建带多选按妞的列表 第一个参数为要加载的数据
第二个参数可设置默认选中的按钮,比如我们想让“选项2”和“选项3”被选中,则可设置第二个参数为
new boolean[]{false,true,true,false,false,false}
第三个参数为监听事件,需要设置事件监听时则添加new DialogInterface.OnMultiChoiceClickListener()

6.列表对话框
// 列表对话框  
private void showExitDialog06(){  
    new AlertDialog.Builder(this)  
        .setTitle("列表框")  
        .setItems(new String[]{"列表1","列表2","列表3","列表4","列表5"}, null)  
        .setNegativeButton("确定", null)  
        .show();  
}  

setItems:设置添加列表框,第二个参数可传入事件监听

7.显示图片的对话框
// 显示图片的对话框  
private void showExitDialog07(){  
    ImageView img = new ImageView(this);  
    img.setImageResource(R.drawable.hua);  
    new AlertDialog.Builder(this)  
        .setTitle("图片框")  
        .setView(img)  
        .setPositiveButton("确定", null)  
        .show();  
}  

这个对话框的实现其实和第3个可输入文本的提示框实现方式一样,都是通过setView添加View控件达到显示效果

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tan.]der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值