Android 原生Dialog的基本使用详解

2020-07-07  本文已影响0人  DT慕枫

前言

项目中为了方便交互,及用户体验等方面的原因,不少地方会用到Dialog,网上有很多非常优秀的自定义的Dialog工具,此处,我们不讲写那么写,我们写最基础的使用方法。

目录

demo存储位置记录:D:\android studio work space\work09\PrimordialDialog

Dialog常用的API

简单提示框

最简单的Dialog弹框,其实就是一个“提示标题”、“提示内容”、“结束/确定”、“取消”几个元素;同时可以设置builder.setCancelable(false/true)点击Dialog之外处,是否关闭弹框,均可设置。效果图如下:


简单提示框效果图
public void showSimpleDialog(final Activity activity) {
        final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        builder.setTitle("友情提示");
        builder.setMessage("此处填写提示内容?");
        builder.setCancelable(false);
        builder.setPositiveButton("结束", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

            }
        });
        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

            }
        });
        builder.create().show();
    }

单选提示框

遇到单选的时候,有时候我们就想到了单向选择框,原生的Dialog中也提供了这样的方法,那么接下来,我们就简单的用示例代码展示一下,效果图如下:


单选提示框效果图
 public void showSingleDialog(final Activity activity,String[] sex) {
        final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        builder.setTitle("请选择性别");
        builder.setSingleChoiceItems(sex, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

            }
        }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

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

            }
        }).show();
    }

复选提示框

那么有单选,当然就有复选框了,为了满足用户的需求,Dialog的实现,效果图如下:


复选提示框效果图
/**
     * 复选提示框
     * @param activity
     * @param content
     */
    public void showCheckDialog(final Activity activity,String[] content) {
        final AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        builder.setTitle("复选提示框");
        builder.setMultiChoiceItems(content, null, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i, boolean b) {

            }
        }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

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

            }
        }).show();
    }

列表提示框

此处我们使用的是原生的Dialog列表样式,效果图如下:


列表提示框效果图
/**
     * 展示item列表
     * @param activity
     * @param item
     */
    public void showListDialog(final Activity activity,String[] item){
        AlertDialog.Builder listDialog = new AlertDialog.Builder(activity);
        listDialog.setTitle("请选择你喜欢的车型");
        listDialog.setCancelable(false);
        listDialog.setItems(item, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

            }
        }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

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

            }
        }).show();
    }
上一篇下一篇

猜你喜欢

热点阅读