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)引用。

下面是demo代码:

MainActivity.java:

 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; @Override
public 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);
} @Override
public 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() {
@Override
public void onClick(SweetAlertDialog sDialog) {
// reuse previous dialog instance
sDialog.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() {
@Override
public void onClick(SweetAlertDialog sDialog) {
// reuse previous dialog instance, keep widget user state, reset them if you need
sDialog.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() {
@Override
public 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 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();
break;
}
}
}

sample_activity.xml:

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

最新文章

  1. mono ios莫名其妙闪退的解决方法
  2. bitset用法总结
  3. Python3的decode()与encode()
  4. sqlserver 分区表
  5. 【BZOJ】【1020】【SHOI2008】安全的航线flight
  6. 【转】Eazfuscator.NET 3.3中混淆化需要注意的一些问题
  7. DNS (二)协议
  8. GET方式URL乱码问题解决
  9. POJ2584 T-Shirt Gumbo【二分图多重匹配】
  10. Brackets 1.8 开源+免费的Web前端网页文本编辑工具
  11. 阿里云 docker连接总报超时 registry.cn-hangzhou.aliyuncs.com (Client.Timeout exceeded while awaiting headers
  12. Python——反射
  13. Tsi721信号及处理(转)
  14. 编程学习笔记(第三篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(3)软件开发的现状、UML扩展
  15. Arcgis ArcMap 10 如何生成msd地图文档定义【 arcgis mxd怎么转换成msd】
  16. C#实现两个时间相减的方法
  17. hdu1517找规律
  18. linux 命令 --while
  19. NOIP2018之前
  20. UI_storyboard实现页面回调

热门文章

  1. LocalActivityManager的内部机制
  2. 【python调用windows CLI】调用adb统计Android app的流量消耗
  3. Android之EditText文本变化的监听
  4. oracle-SQL语言基础-事务控制命令命令
  5. div/span等获取焦点问题(tabindex属性的简单理解)
  6. poj 1330 Nearest Common Ancestors 裸的LCA
  7. 为什么用服务不用线程-Android
  8. DWZ (JUI) 教程 根据ID刷新 dialog
  9. Android之adb命令
  10. 智捷公开课马上开始了-欢迎大家一起讨论学习-第一系列读《Swift开发指南(修订版) 》看Swift视频教程