http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3084|回复: 5

[新手开发之旅] Android新手开发之旅-AlertDialog的用法

[复制链接]
发表于 2018-12-12 16:10:15 | 显示全部楼层 |阅读模式
本帖最后由 liu 于 2018-12-12 17:04 编辑
AlertDialog的用法




AlertDialog是一个非阻塞式的对话框,使用流程如下:
1、创建AlertDialog.Builder对象
2、设置图标、标题
3、设置内容
4、设置确定、取消按钮
5、调用create()方法创建对话框,再调用show()方法显示对话框



介绍几种对话框:

1、普通对话框
[Java] 纯文本查看 复制代码
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置图标
        builder.setIcon(R.drawable.sflogo)
                //设置标题
                .setTitle("提示")
                //设置内容
                .setMessage("这是个简单的对话框")
                //设置取消按钮
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

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

                    }
                }).create()
                //显示对话框
                .show();

效果如下图:

         QQ截图20181212152051.png

2、显示列表的AlertDialog

[Java] 纯文本查看 复制代码
  final String[] data = {"M416", "AWM", "M24", "AK47", "大砍刀"};
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置图标
        builder.setIcon(R.drawable.sflogo)
                //设置标题
                .setTitle("请选择武器")
                .setItems(data, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "你选择了" + data, Toast.LENGTH_SHORT).show();
                    }
                })
                //设置取消按钮
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                }).create()
                //显示对话框
                .show();

效果如下图:

         QQ截图20181212152626.png

3、带复选框的AlertDialog
[Java] 纯文本查看 复制代码
 final String[] data = {"M416", "AWM", "M24", "AK47", "大砍刀"};
        final boolean[] check = {true, true, false, false, false};
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置图标
        builder.setIcon(R.drawable.sflogo)
                //设置标题
                .setTitle("请选择武器")
                .setMultiChoiceItems(data, check , new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i, boolean b) {
                        check = b;
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        if (check) {
                            //data[i]就是被选中的
                        }
                    }
                })
                //设置取消按钮
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                }).create()
                //显示对话框
                .show();

效果如下图:

         QQ截图20181212153500.png

4、带单选的AlertDialog
[Java] 纯文本查看 复制代码
 final String[] data = {"M416", "AWM", "M24", "AK47", "大砍刀"};
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置图标
        builder.setIcon(R.drawable.sflogo)
                //设置标题
                .setTitle("请选择武器")
                .setSingleChoiceItems(data, 1, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        select = i;
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "你选择了" + data[select], Toast.LENGTH_SHORT).show();
                    }
                })
                //设置取消按钮
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                }).create()
                //显示对话框
                .show();

效果如下图:

         QQ截图20181212154900.png

5、自定义的AlertDialog
view_dialog.xml(自定义的布局):
[XML] 纯文本查看 复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:src="@drawable/sflogo" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:autoLink="web"
        android:text="http://www.sufeinet.com/"
        android:textColor="@android:color/black"
        android:textSize="20sp" />
</LinearLayout>


java代码:
[Java] 纯文本查看 复制代码
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
        //设置图标
        builder.setIcon(R.drawable.sflogo)
                //设置标题
                .setTitle("欢迎大家加入")
                //设置自定义布局
                .setView(R.layout.view_dialog)
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MainActivity.this, "你选择了" + data[select], Toast.LENGTH_SHORT).show();
                    }
                })
                //设置取消按钮
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                }).create()
                //显示对话框
                .show();


效果如下图:

         QQ截图20181212155855.png







1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2018-12-12 16:40:24 | 显示全部楼层
真是难得给力的帖子啊。
发表于 2018-12-12 17:00:24 | 显示全部楼层
强烈支持楼主ing……
发表于 2018-12-12 17:00:36 | 显示全部楼层
强烈支持楼主ing……
发表于 2018-12-12 17:02:03 | 显示全部楼层
我只是路过打酱油的。
发表于 2018-12-15 14:06:23 | 显示全部楼层
楼主加油,我们都看好你哦。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-18 14:50

© 2014-2021

快速回复 返回顶部 返回列表