Android第三方开源对话消息提示框:SweetAlertDialog

Sweet Alert Dialog踩坑记 写在前面 本人为刚入门安卓的小白,这是我第一篇博客,内容可能略啰嗦或者排版不工整描述不清晰。还望各位猿友键下留人,多给提提小建议,小弟先谢过了。这篇博客主要讲解Sweet Alert Dialog这个框架的正确打开方式,不做过多使用源码讲解,看到这里感觉失望甚至绝望的猿友可以右转出门,恕不远送... 目录 1. 框架简介 2. 错误打开方式演示 3. 正确打开方式演示 正文 1. 框 阅读详情

        Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)是一个套制作精美、动画效果出色生动的Android对话、消息提示框,部分如图所示:

项目Github地址:https://github.com/pedant/sweet-alert-dialog

在AndroidStudio中引用如下:

在外层的build文件中:

repositories {
    mavenCentral()
}

内层的build文件中:

dependencies {    
      compile 'cn.pedant.sweetalert:library:1.3'}


如果你直接这样引用的话,会出现如下问题:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:27:9-43
    is also present at [com.pnikosis:materialish-progress:1.0] AndroidManifest.xml:13:9-45 value=(@drawable/ic_launcher).
    Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:25:5-46:19 to override.
解决方案如下:

在manifest标签中加入:

xmlns:tools="http://schemas.android.com/tools"
在application中加入:

tools:replace="icon"
重新build一下,问题解决。

以下代码为不同的对话框的展示:

默认对话框:

SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86"));
pDialog.setTitleText("Loading");
pDialog.setCancelable(false);
pDialog.show();

只显示标题:

new SweetAlertDialog(this)
    .setTitleText("Here's a message!")
    .show();

显示标题和内容:

new SweetAlertDialog(this)
    .setTitleText("Here's a message!")
    .setContentText("It's pretty, isn't it?")
    .show();

显示异常样式:

new SweetAlertDialog(this, SweetAlertDialog.ERROR_TYPE)
    .setTitleText("Oops...")
    .setContentText("Something went wrong!")
    .show();

显示警告样式:

new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)
    .setTitleText("Are you sure?")
    .setContentText("Won't be able to recover this file!")
    .setConfirmText("Yes,delete it!")
    .show();

显示成功完成样式:

new SweetAlertDialog(this, SweetAlertDialog.SUCCESS_TYPE)
    .setTitleText("Good job!")
    .setContentText("You clicked the button!")
    .show();

自定义头部图像:

new SweetAlertDialog(this, SweetAlertDialog.CUSTOM_IMAGE_TYPE)
    .setTitleText("Sweet!")
    .setContentText("Here's a custom image.")
    .setCustomImage(R.drawable.custom_img)
    .show();

确认事件绑定:

new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)
    .setTitleText("Are you sure?")
    .setContentText("Won't be able to recover this file!")
    .setConfirmText("Yes,delete it!")
    .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
        @Override
        public void onClick(SweetAlertDialog sDialog) {
            sDialog.dismissWithAnimation();
        }
    })
    .show();

显示取消按钮及事件绑定:

new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)
    .setTitleText("Are you sure?")
    .setContentText("Won't be able to recover this file!")
    .setCancelText("No,cancel plx!")
    .setConfirmText("Yes,delete it!")
    .showCancelButton(true)
    .setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {
        @Override
        public void onClick(SweetAlertDialog sDialog) {
            sDialog.cancel();
        }
    })
    .show();

确认后切换对话框样式:

new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)
    .setTitleText("Are you sure?")
    .setContentText("Won't be able to recover this file!")
    .setConfirmText("Yes,delete it!")
    .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
        @Override
        public void onClick(SweetAlertDialog sDialog) {
            sDialog
                .setTitleText("Deleted!")
                .setContentText("Your imaginary file has been deleted!")
                .setConfirmText("OK")
                .setConfirmClickListener(null)
                .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);
        }
    })
    .show();

环形进度条变换颜色:

    private int i = -1;

       final SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE)
                .setTitleText("Loading");
        pDialog.show();
        pDialog.setCancelable(false);
        new CountDownTimer(800 * 7, 800) {
            public void onTick(long millisUntilFinished) {
                // you can change the progress bar color by ProgressHelper every 800 millis
                i++;
                switch (i) {
                    case 0:
                        pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.blue_btn_bg_color));
                        break;
                    case 1:
                        pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_50));
                        break;
                    case 2:
                        pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.success_stroke_color));
                        break;
                    case 3:
                        pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_20));
                        break;
                    case 4:
                        pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_blue_grey_80));
                        break;
                    case 5:
                        pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.warning_stroke_color));
                        break;
                    case 6:
                        pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.success_stroke_color));
                        break;
                }
            }


            public void onFinish() {
                i = -1;
                pDialog.setTitleText("Success!")
                        .setConfirmText("OK")
                        .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);
            }
        }.start();






SweetAlertDialog清新版 Android版的SweetAlert,清新文艺,快意灵动的甜心弹框 ;有你想不到的结果。如有问题请联系本人 立即下载

相关推荐

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺下实现高分辨率(大于16位),同时由于结构简单,所以易于实现。低成本高性能使得Delta-Sigma调制技术得到了广泛的应用。 Delta-Sigma型ADC的结构原理图如下图所示: 它最大的优势在于仅用1位ADC进行数据转换,同时其模拟电路部分结构简单不需要

阿星的博客 2万+

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog) Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)是一个套制作精美、动画效果出色生动的Android对话、消息提示框,如图所示(部分,还有更多效果,不在此一一展示): Swee

Zhang Phil 2万+

Unity物理引擎实战:从刚体重心到碰撞体,打造真实不倒翁交互

刚体(Rigidbody)是Unity物理系统的核心组件,它定义了游戏对象的物理属性,如质量、阻力和碰撞响应。其原理基于牛顿力学,通过物理引擎(如PhysX)实时计算物体的运动状态。在游戏开发中,刚体的价值在于能够模拟真实世界的物理行为,为玩家提供沉浸式的交互体验。碰撞体(Collider)则定义了物体的形状边界,用于检测与其他物体的接触。通过精细调整刚体的重心(Center of Mass)和碰撞体形状,开发者可以模拟出各种有趣的物理现象,例如低重心物体的动态平衡。这在休闲游戏、物理玩具模拟等场景中尤为实

weixin_33976326的博客 355

Android 几个简单的自定义对话框介绍

Android 对话框直接使用肯定是不好看的,如果需要添加取消和确定按钮,肯定是需要进行自定义修改的。本文简单介绍一个简单的可扩展的对话框,并且支持不同类型样式,加了点小动画。有需要的可以看看。//(1)默认字符串显示,显示一个确认按钮,只是用来测试//(2)修改标题和文本内容,显示一个确认按钮")").show();//(3)修改标题和文本内容和类型图标,显示一个确认按钮").show();大部分场景上面三个代码比较常用。

wenzhi的博客 3287

CMU的local_planner学习笔记

ros::Subscriber subOdometry = nh.subscribe//当接收到/state_estimation话题消息更新时启动odometryHandler回调函数 (消息格式:nav_msgs::Odometry消息内容:关于机器人或车辆的位置和方向(姿态)信息)pcl::PointCloud::Ptr freePaths(new pcl::PointCloud());

qq_35971623的博客 3876

[Adaptive Autosar]深入理解--Time Synchronization

目录 1.TS典型应用场景 2.CP和AP时间同步对比 3.时间同步基础知识 4.TBR部分参数说明 5. TS功能说明 5.1 基本说明 5.2 时间纠正计算说明 5.3 时间验证 Time Synchronization 时间同步,后面简称TS 1.TS典型应用场景 时间同步,典型应用就是在自动驾驶领域,自动驾驶领域涉及到各个传感器的数据采集,如IMU采集当前车身姿态和运动信息,毫米波雷达-超声波雷达-环视摄像头-前视摄像头...等等传感器捕获的数据,在算法中需要精确知道每个数.

AgingMoon的博客 3997

非常简单漂亮的的一款dialog,使用简单方便,可实现多种样式展示

android原生的dialog太生硬了,看到开源的sweet-alert-dialog 对话框感觉不错 ,我根据个人的需要基于sweet-alert-dialog做了一些修改 自我感觉挺好看    大家需要的话 可以下下来研究下  有源码 用eclipse的同学 拿去改一下应该也可以用 下载地址:https://download.youkuaiyun.com/download/wl200881/10647...

wl200881的博客 5044

SRAM compiler中Power Gating与Retention的实战配置指南

本文深入解析了在SRAM compiler中配置Power Gating(电源门控)与Retention(数据保持)功能的实战指南。针对低功耗芯片设计,文章详细阐述了如何根据应用场景(如移动AP、IoT设备)权衡开关类型、尺寸、唤醒时序以及保持电压,以实现静态功耗优化与数据可靠性的最佳平衡,并强调了后端实现与签核检查的关键要点。

weixin_29204121的博客 294

android 第三方提示框,Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)...

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)是一个套制作精美、动画效果出色生动的Android对话、消息提示框,如图所示(部分,还有更多效果,不在此一一展示): SweetAlertDialog(sweet-aler...

weixin_34419203的博客 493

ST7789P3初始化配置

【代码】ST7789P3初始化配置。

zqq_1314的博客 4153

【实际操作】DenseFusion复现过程详解-YCB-Video数据集

这一篇是在YCB-Video数据集上的训练和测试过程。本次实验建立在实现LineMod数据集训练基础之上,因为前期的环境搭建都是一样的。首先,需要下载YCB-Video数据集,可以自己找找百度网盘资源,大概有两百多G。把下载下来的数据放在/work/DenseFusion/datasets/ycb/下并命名为YCB_Video_Dataset。同样的,激活自己的环境并进入 /work/DenseFusion/下,用命令:./experiments/scripts/train_ycb.sh出现以下内容开始训练

weixin_44564705的博客 3560

android弹出框第三方,Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)...

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)是一个套制作精美、动画效果出色生动的Android对话、消息提示框,如图所示(部分,还有更多效果,不在此一一展示): SweetAlertDialog(sweet-al...

weixin_42134097的博客 1149

uniapp(全端兼容) - 超详细接入百度统计功能,给uniapp全平台各端项目引入添加百度统计的插件统计流量详细的步骤教程(提供最新的百度统计源代码,详细的示例代码复制粘贴即可快速搞定!)

uniapp h5 app 使用加入接入百度统计,uniapp百度统计,uniapp详细引入百度统计的教程,uniapp接入百度统计,uniapp如何实现加入百度的统计代码,uniapp怎么植入百度统计详细教程,uniapp如何对接百度统计,uniapp百度统计不生效怎么办,uniapp使用百度统计不生效常见问题,uniapp引入百度统计后没有生效,uniapp h5网页接入百度统计代码后没有统计无效,uniapp最新接入使用百度统计功能,uniapp增加百度统计代码,uniapp app如何接入百度统计,

✅ 精选推荐文章 1万+

SweetAlertDialog 第三方开源对话消息提示框

SweetAlertDialog 第三方开源对话消息提示框

antimage08的博客 2702

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

精美舒适的对话消息提示框--第三方开源--SweetAlertDialog

SweetAlertDialog(sweet-alert-dialog)是一个套制作精美、动画效果出色生动的Android对话、消息提示框   SweetAlertDialog(sweet-alert-dialog)在github上的项目主页是:https://github.com/pedant/sweet-alert-dialog 需要注意的是,SweetAlertDialog(swe

xzylx1的博客 735

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

第三方开源对话消息提示框

效果如下: SweetAlertDialog(sweet-alert-dialog)在github上的项目主页是:https://github.com/pedant/sweet-alert-dialog 需要注意的是:SweetAlertDialog(sweet-alert-dialog)作为库,其自身又依赖另外一个github上的开源库materialish-prog

Rokends的博客 704

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Android弹窗插件 sweet-alert-dialog

下面介绍一款Android弹窗插件,为了屌丝们访问快点把wiki及其图片搬回来了 Android版的SweetAlert,清新文艺,快意灵动的甜心弹框

李乾文的博客 3836
上一篇: android开发之Glide加载RelativeLayout背景图
下一篇: Android开发之解决设置GridView的边框
红鼻子老头
博客等级 码龄10年 10粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值