Dialog 使用详解

strip

极力推荐文章:欢迎收藏
Android 干货分享

1240

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

  1. 简单对话框
  2. 多选按钮对话框
  3. 单选按钮对话框
  4. 列表对话框
  5. 水平进度条对话框
  6. 圆形进度条对话框
  7. 自定义图文对话框
  8. 自定义输入对话框
  9. 自定义样式对话框
  10. 自定义Loading样式对话框
  11. 继承 DialogFragment 实现对话框
  12. Activity形式的 对话框
  13. 倒计时 30s Dialog实现

DialogAndroid 常用控件之一,主要以弹出框的形式与用户进行交互。对话框是提示用户作出决定或输入额外信息的小窗口。 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。

Dialog 简介

Dialog 继承关系如下:

java.lang.Object
   ↳    android.app.Dialog

Dialog 基本样式解析

Dialog 基本样式

1.标题

这是可选项,只应在内容区域被详细消息、列表或自定义布局占据时使用。 如需陈述的是一条简单消息或问题(如图 上图中的对话框),则不需要标题。

2.内容区域

它可以显示消息、列表或其他自定义布局。

3.操作按钮

对话框中的操作按钮不应超过三个。

1. 简单对话框

  • 实现效果:

简单对话框

  • 实现代码如下:
    /**
     * 简单对话框
     */
    public void SimpleDialog(View view) {

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.gril).setTitle("简单对话框")
                .setMessage("设置Dialog 显示的内容")
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        Toast.makeText(DiaLogMethods.this, "点击了确定按钮",
                                Toast.LENGTH_SHORT).show();
                    }
                }).setNegativeButton("Cancle", null).create().show();

    }

2. 多选按钮对话框

  • 实现效果:

多选按钮对话框

  • 实现代码:
/**
     * 多选按钮对话框
     * */
    public void MultiChoiceDialog(View view) {
        final String font[] = { "小号字体", "中号字体", "大号字体", "超大号字体" };
        final boolean[] MultiChoice = new boolean[] { false, true, false, false };
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("多选对话框")
                .setIcon(R.drawable.ic_launcher)
                .setMultiChoiceItems(font, MultiChoice,
                        new DialogInterface.OnMultiChoiceClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which, boolean isChecked) {
                                MultiChoice[which] = isChecked;
                                String choiceString = "";
                                for (int i = 0; i < MultiChoice.length; i++) {
                                    if (MultiChoice[i]) {
                                        choiceString = choiceString + font[i]
                                                + "  ";
                                    }
                                }

                                if (choiceString.equals("")
                                        || choiceString.length() == 0) {

                                    // 都不选的处理方法

                                    Toast.makeText(DiaLogMethods.this,
                                            "请选择一个内容", Toast.LENGTH_SHORT)
                                            .show();
                                } else {

                                    Toast.makeText(DiaLogMethods.this,
                                            "选择的字体为" + choiceString,
                                            Toast.LENGTH_SHORT).show();

                                }

                            }
                        }).setPositiveButton("OK", null)
                .setNegativeButton("Cancle", null).create().show();

    }

3.单选按钮对话框

  • 实现效果:

单选按钮对话框

  • 实现代码如下:

    /**
     * 单选按钮对话框实现
     **/
    public void SingleChoiceDialog(View view) {
        final String font[] = { "小号字体", "中号字体", "大号字体", "超大号字体" };
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("单选对话框")
                .setIcon(R.drawable.ic_launcher)
                .setSingleChoiceItems(font, 0,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                Toast.makeText(DiaLogMethods.this,
                                        "选择的字体为:" + font[which],
                                        Toast.LENGTH_SHORT).show();
                                dialog.dismiss();
                            }
                        }).setPositiveButton("OK", null)
                .setNegativeButton("Cancle", null).create().show();

    }

4. 列表对话框

  • 实现效果如下:

列表对话框

  • 实现代码如下:
/**
     * 列表对话框实现
     **/
    public void ListItemDialog(View view) {
        final String font[] = { "小号字体", "中号字体", "大号字体", "超大号字体" };
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setIcon(R.drawable.ic_launcher)
                .setTitle(" 列表对话框")
                .setItems(font, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值