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

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

SweetAlertDialog(sweet-alert-dialog)在github上的项目主页是:https://github.com/pedant/sweet-alert-dialog
需要注意的是,SweetAlertDialog(sweet-alert-dialog)作为库,其自身又依赖另外一个github上的开源库materialish-progress(其在github上的项目主页是:https://github.com/pnikosis/materialish-progress )。如果使用SweetAlertDialog(sweet-alert-dialog),则需要再把materialish-progress也导入到Eclipse中作为库被SweetAlertDialog(sweet-alert-dialog)引用。

贴一部分SweetAlertDialog(sweet-alert-dialog)在demo中的代码:

package cn.pedant.SweetAlert.sample;import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;import cn.pedant.SweetAlert.SweetAlertDialog;public class SampleActivity extends Activity implements View.OnClickListener {private int i = -1;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.sample_activity);findViewById(R.id.basic_test).setOnClickListener(this);findViewById(R.id.under_text_test).setOnClickListener(this);findViewById(R.id.error_text_test).setOnClickListener(this);findViewById(R.id.success_text_test).setOnClickListener(this);findViewById(R.id.warning_confirm_test).setOnClickListener(this);findViewById(R.id.warning_cancel_test).setOnClickListener(this);findViewById(R.id.custom_img_test).setOnClickListener(this);findViewById(R.id.progress_dialog).setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.basic_test:// default title "Here's a message!"SweetAlertDialog sd = new SweetAlertDialog(this);sd.setCancelable(true);sd.setCanceledOnTouchOutside(true);sd.show();break;case R.id.under_text_test:new SweetAlertDialog(this).setContentText("It's pretty, isn't it?").show();break;case R.id.error_text_test:new SweetAlertDialog(this, SweetAlertDialog.ERROR_TYPE).setTitleText("Oops...").setContentText("Something went wrong!").show();break;case R.id.success_text_test:new SweetAlertDialog(this, SweetAlertDialog.SUCCESS_TYPE).setTitleText("Good job!").setContentText("You clicked the button!").show();break;case R.id.warning_confirm_test: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() {@Overridepublic void onClick(SweetAlertDialog sDialog) {// reuse previous dialog instancesDialog.setTitleText("Deleted!").setContentText("Your imaginary file has been deleted!").setConfirmText("OK").setConfirmClickListener(null).changeAlertType(SweetAlertDialog.SUCCESS_TYPE);}}).show();break;case R.id.warning_cancel_test: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() {@Overridepublic void onClick(SweetAlertDialog sDialog) {// reuse previous dialog instance, keep widget user state, reset them if you needsDialog.setTitleText("Cancelled!").setContentText("Your imaginary file is safe :)").setConfirmText("OK").showCancelButton(false).setCancelClickListener(null).setConfirmClickListener(null).changeAlertType(SweetAlertDialog.ERROR_TYPE);// or you can new a SweetAlertDialog to show/* sDialog.dismiss();new SweetAlertDialog(SampleActivity.this, SweetAlertDialog.ERROR_TYPE).setTitleText("Cancelled!").setContentText("Your imaginary file is safe :)").setConfirmText("OK").show();*/}}).setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {@Overridepublic void onClick(SweetAlertDialog sDialog) {sDialog.setTitleText("Deleted!").setContentText("Your imaginary file has been deleted!").setConfirmText("OK").showCancelButton(false).setCancelClickListener(null).setConfirmClickListener(null).changeAlertType(SweetAlertDialog.SUCCESS_TYPE);}}).show();break;case R.id.custom_img_test:new SweetAlertDialog(this, SweetAlertDialog.CUSTOM_IMAGE_TYPE).setTitleText("Sweet!").setContentText("Here's a custom image.").setCustomImage(R.drawable.custom_img).show();break;case R.id.progress_dialog: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 millisi++;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();break;}}
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="match_parent"android:layout_height="match_parent"android:background="#FFF"xmlns:android="http://schemas.android.com/apk/res/android"><RelativeLayout android:layout_width="match_parent"android:paddingBottom="10dp"android:layout_height="wrap_content"><ImageViewandroid:id="@+id/logo_img"android:layout_width="180dp"android:layout_height="wrap_content"android:src="@drawable/logo_big"android:layout_marginTop="10dp"android:layout_marginBottom="15dp"android:layout_centerHorizontal="true"android:contentDescription="@string/app_name"/><TextViewandroid:id="@+id/txt_0"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/logo_img"android:layout_marginLeft="15dp"android:text="show material progress"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_0"android:id="@+id/progress_dialog"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/><TextViewandroid:id="@+id/txt_1"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/progress_dialog"android:layout_marginLeft="15dp"android:text="A basic message"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_1"android:id="@+id/basic_test"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/><TextViewandroid:id="@+id/txt_2"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/basic_test"android:layout_marginLeft="15dp"android:text="A title with a text under"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:layout_marginTop="15dp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_2"android:id="@+id/under_text_test"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/><TextViewandroid:id="@+id/txt_3"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/under_text_test"android:layout_marginLeft="15dp"android:text="show error message"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:layout_marginTop="15dp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_3"android:id="@+id/error_text_test"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/><TextViewandroid:id="@+id/txt_4"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/error_text_test"android:layout_marginLeft="15dp"android:text="A success message"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="14sp"android:layout_marginTop="15dp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_4"android:id="@+id/success_text_test"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/><TextViewandroid:id="@+id/txt_5"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/success_text_test"android:layout_marginLeft="15dp"android:text="A warning message, with a listener bind to the Confirm-button..."android:layout_width="200dp"android:layout_height="wrap_content"android:textSize="14sp"android:layout_marginTop="15dp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_5"android:id="@+id/warning_confirm_test"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/><TextViewandroid:id="@+id/txt_6"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/warning_confirm_test"android:layout_marginLeft="15dp"android:text="A warning message, with listeners bind to Cancel and Confirm button..."android:layout_width="200dp"android:layout_height="wrap_content"android:textSize="14sp"android:layout_marginTop="15dp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_6"android:id="@+id/warning_cancel_test"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/><TextViewandroid:id="@+id/txt_7"android:layout_alignLeft="@id/logo_img"android:layout_below="@id/warning_cancel_test"android:layout_marginLeft="15dp"android:text="A message with a custom icon"android:layout_width="200dp"android:layout_height="wrap_content"android:textSize="14sp"android:layout_marginTop="15dp"android:textColor="#797979"/><Buttonandroid:layout_centerHorizontal="true"android:layout_below="@id/txt_7"android:id="@+id/custom_img_test"style="@style/dialog_blue_button"android:layout_margin="10dp"android:text="Try me!"/></RelativeLayout>
</ScrollView>

附录相关文章:
《Android底部弹出iOS7风格对话选项框》链接地址:http://blog.csdn.net/zhangphil/article/details/44940339



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

  1. Android第三方开源下拉框:NiceSpinner

     Android第三方开源下拉框:NiceSpinner Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Andro ...

  2. Android消息提示框及CheckBox组件

    目录 一.Toast(消息提示框) 1.创建显示普通文本的Toast 2.创建显示带图片的Toast 二.CheckBox组件 1.在CheckBox在XML文件中的基本语法 2.CheckBox 选 ...

  3. Android消息提示框

    Toast(吐丝框) 1.1 Toast是Android中的一种简易的消息提示框 1.2 使用这个类的最简单的方法是调用静态方法构造您所需要的一切,并返回一个新的Toast对象. Toast toas ...

  4. flutter Toast消息提示框

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 本文章将讲述: 1.在 flutter 跨平台开发中,使用 Dart 实现 Toast 消息提示框效果 2.Overl ...

  5. uniapp 消息提示框

    uni.showToast(OBJECT) 显示消息提示框. OBJECT参数说明 参数 类型 必填 说明 平台差异说明 title String 是 提示的内容,长度与 icon 取值有关.   i ...

  6. Toast 消息提示框

    Toast(吐丝框) 1.1 Toast是Android中的一种简易的消息提示框 1.2 使用这个类的最简单的方法是调用静态方法构造您所需要的一切,并返回一个新的Toast对象. 第一个参数:当前的上 ...

  7. Toast类实现消息提示框

    Toast类实现消息提示框的方式有两种: 使用静态方法makeText()方法 以下面那个为例吧,第一个参数是一个上下文对象,第二个参数是要显示的数据,第三个参数是要显示数据的时长. 我们来看看他低层 ...

  8. 简易消息提示框Toast和通知的使用

    随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) Android中的Toast是一种简易的消息提示框.和Dialog不一样的是,Toast是没有焦点的,toas ...

  9. Winform的消息提示框帮助类

    一.Winform的消息提示框帮助类初衷 通常在C#的Winform项目开发中,我们也会经常需要使用提示框用于用户操作的提示确认,起到一个确认,警示的作用,由于这也是一个十分常见的功能,因此该帮助类就 ...

最新文章

  1. 男神女神配——alpha阶段总结
  2. Python3使用tkinter编写GUI程序
  3. 在Windows下为PHP安装redis扩展
  4. SAP Spartacus LockFocusDirective的单步调试
  5. java 7.0 特性_JDK7.0语法新特性
  6. 现代软件工程讲义 12 绩效管理
  7. 清空文件夹_回收站不小心被清空?简单3步即刻找回丢失文件,值得收藏!
  8. SpringCloud学习笔记003---服务提供者和服务消费者补充:反向代理
  9. C++Primer第5版学习笔记(三)
  10. 4月5日--课堂笔记--JS内置对象
  11. new和malloc的区别(详细)
  12. Android状态页切换(数据加载中,数据加载失败,空数据)
  13. 该模型是内置式的MTPA控制,速度环的输出为给定转矩,然后方式1通过求解MTPA方程得到dq给定电流
  14. 计算机没有光驱降无法启动,windows 未能启动 原因可能是最近更改了硬件或软件 没有光驱怎么办...
  15. GreenDotNet0.1.1发布(.Net精简环境)及示例.Net在线漫画下载器
  16. win7共享wifi自动获取不到ip地址的解决办法
  17. html水晶按钮图片,利用CSS3 Gradients创建无图片水晶按钮
  18. 40行代码的Python爬虫案例:虎牙-王者荣耀主播的人气排行
  19. OpenDRIVE文件格式详解
  20. 【案例分享】某银行用这20件事,实现数字化转型

热门文章

  1. 【教程】Python科研数据可视化、MATLAB科研数据可视化
  2. Python一键生成纯色图片
  3. 物联网智能家居需要服务器吗,智能家居设备常见的两种配网/联网方式
  4. 从头开始做一个智能家居设备:MQTT协议及使用
  5. 2011年在深圳的国庆
  6. 团队作业6-展示博客
  7. 《俊红的数据分析之路》笔记
  8. JAVA基于坐标点求海拔
  9. 第五章-语法分析之抽象语法树的建立
  10. 站住!你会修改NPM全局模式的默认安装路径嘛?