关闭

Android漂亮的对话框项目sweet-alert-dialog

标签: sweet-alert-dialog对话框
648人阅读 评论(0) 收藏 举报
分类:

转自http://blog.csdn.net/cauchyweierstrass/article/details/46335143

漂亮的对话框 sweet-alert-dialog

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

android原生的dialog太生硬了,之前看到了这个效果非常不错但是没有用过,今天给别人推荐使用,他遇到了问题,导入后错误非常多,也没有库工程。于是自己认真看了一下,这是个AndroidStudio的工程,并且里面还依赖于materialish-progress工程,也是个AS的工程。于是打算弄一个eclipse的版本并且将这两个工程融合在一起作为一个库工程XAlertDialogLibrary。使用时将其作为库导入项目中即可。

效果如下



使用起来非常简单,测试代码如下:

MainActivity.java

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. public class MainActivity extends Activity implements View.OnClickListener {  
  2.   
  3.     private int i = -1;  
  4.   
  5.     @Override  
  6.     public void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.activity_main);  
  9.         findViewById(R.id.basic_test).setOnClickListener(this);  
  10.         findViewById(R.id.under_text_test).setOnClickListener(this);  
  11.         findViewById(R.id.error_text_test).setOnClickListener(this);  
  12.         findViewById(R.id.success_text_test).setOnClickListener(this);  
  13.         findViewById(R.id.warning_confirm_test).setOnClickListener(this);  
  14.         findViewById(R.id.warning_cancel_test).setOnClickListener(this);  
  15.         findViewById(R.id.custom_img_test).setOnClickListener(this);  
  16.         findViewById(R.id.progress_dialog).setOnClickListener(this);  
  17.     }  
  18.   
  19.     @Override  
  20.     public void onClick(View v) {  
  21.         switch (v.getId()) {  
  22.             case R.id.basic_test:  
  23.                 // default title "Here's a message!"  
  24.                 SweetAlertDialog sd = new SweetAlertDialog(this);  
  25.                 sd.setCancelable(true);  
  26.                 sd.setCanceledOnTouchOutside(true);  
  27.                 sd.show();  
  28.                 break;  
  29.             case R.id.under_text_test:  
  30.                 new SweetAlertDialog(this)  
  31.                         .setContentText("It's pretty, isn't it?")  
  32.                         .show();  
  33.                 break;  
  34.             case R.id.error_text_test:  
  35.                 new SweetAlertDialog(this, SweetAlertDialog.ERROR_TYPE)  
  36.                         .setTitleText("Oops...")  
  37.                         .setContentText("Something went wrong!")  
  38.                         .show();  
  39.                 break;  
  40.             case R.id.success_text_test:  
  41.                 new SweetAlertDialog(this, SweetAlertDialog.SUCCESS_TYPE)  
  42.                         .setTitleText("Good job!")  
  43.                         .setContentText("You clicked the button!")  
  44.                         .show();  
  45.                 break;  
  46.             case R.id.warning_confirm_test:  
  47.                 new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)  
  48.                         .setTitleText("Are you sure?")  
  49.                         .setContentText("Won't be able to recover this file!")  
  50.                         .setConfirmText("Yes,delete it!")  
  51.                         .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {  
  52.                         @Override  
  53.                         public void onClick(SweetAlertDialog sDialog) {  
  54.                             // reuse previous dialog instance  
  55.                             sDialog.setTitleText("Deleted!")  
  56.                                     .setContentText("Your imaginary file has been deleted!")  
  57.                                     .setConfirmText("OK")  
  58.                                     .setConfirmClickListener(null)  
  59.                                     .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);  
  60.                         }  
  61.                         })  
  62.                         .show();  
  63.                 break;  
  64.             case R.id.warning_cancel_test:  
  65.                 new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)  
  66.                         .setTitleText("Are you sure?")  
  67.                         .setContentText("Won't be able to recover this file!")  
  68.                         .setCancelText("No,cancel plx!")  
  69.                         .setConfirmText("Yes,delete it!")  
  70.                         .showCancelButton(true)  
  71.                         .setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {  
  72.                             @Override  
  73.                             public void onClick(SweetAlertDialog sDialog) {  
  74.                                 // reuse previous dialog instance, keep widget user state, reset them if you need  
  75.                                 sDialog.setTitleText("Cancelled!")  
  76.                                         .setContentText("Your imaginary file is safe :)")  
  77.                                         .setConfirmText("OK")  
  78.                                         .showCancelButton(false)  
  79.                                         .setCancelClickListener(null)  
  80.                                         .setConfirmClickListener(null)  
  81.                                         .changeAlertType(SweetAlertDialog.ERROR_TYPE);  
  82.   
  83.                                 // or you can new a SweetAlertDialog to show  
  84.                                /* sDialog.dismiss(); 
  85.                                 new SweetAlertDialog(SampleActivity.this, SweetAlertDialog.ERROR_TYPE) 
  86.                                         .setTitleText("Cancelled!") 
  87.                                         .setContentText("Your imaginary file is safe :)") 
  88.                                         .setConfirmText("OK") 
  89.                                         .show();*/  
  90.                             }  
  91.                         })  
  92.                         .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {  
  93.                             @Override  
  94.                             public void onClick(SweetAlertDialog sDialog) {  
  95.                                 sDialog.setTitleText("Deleted!")  
  96.                                         .setContentText("Your imaginary file has been deleted!")  
  97.                                         .setConfirmText("OK")  
  98.                                         .showCancelButton(false)  
  99.                                         .setCancelClickListener(null)  
  100.                                         .setConfirmClickListener(null)  
  101.                                         .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);  
  102.                             }  
  103.                         })  
  104.                         .show();  
  105.                 break;  
  106.             case R.id.custom_img_test:  
  107.                 new SweetAlertDialog(this, SweetAlertDialog.CUSTOM_IMAGE_TYPE)  
  108.                         .setTitleText("Sweet!")  
  109.                         .setContentText("Here's a custom image.")  
  110.                         .setCustomImage(R.drawable.custom_img)  
  111.                         .show();  
  112.                 break;  
  113.             case R.id.progress_dialog:  
  114.                 final SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE)  
  115.                         .setTitleText("Loading");  
  116.                 pDialog.show();  
  117.                 pDialog.setCancelable(false);  
  118.                 new CountDownTimer(800 * 7800) {  
  119.                     public void onTick(long millisUntilFinished) {  
  120.                         // you can change the progress bar color by ProgressHelper every 800 millis  
  121.                         i++;  
  122.                         switch (i){  
  123.                             case 0:  
  124.                                 pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.blue_btn_bg_color));  
  125.                                 break;  
  126.                             case 1:  
  127.                                 pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_50));  
  128.                                 break;  
  129.                             case 2:  
  130.                                 pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.success_stroke_color));  
  131.                                 break;  
  132.                             case 3:  
  133.                                 pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_20));  
  134.                                 break;  
  135.                             case 4:  
  136.                                 pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_blue_grey_80));  
  137.                                 break;  
  138.                             case 5:  
  139.                                 pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.warning_stroke_color));  
  140.                                 break;  
  141.                             case 6:  
  142.                                 pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.success_stroke_color));  
  143.                                 break;  
  144.                         }  
  145.                     }  
  146.   
  147.                     public void onFinish() {  
  148.                         i = -1;  
  149.                         pDialog.setTitleText("Success!")  
  150.                                 .setConfirmText("OK")  
  151.                                 .changeAlertType(SweetAlertDialog.SUCCESS_TYPE);  
  152.                     }  
  153.                 }.start();  
  154.                 break;  
  155.         }  
  156.     }  
  157. }  

activity_main.xml

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <ScrollView android:layout_width="match_parent"  
  3.             android:layout_height="match_parent"  
  4.             android:background="#FFF"  
  5.             xmlns:android="http://schemas.android.com/apk/res/android">  
  6.   
  7.     <RelativeLayout android:layout_width="match_parent"  
  8.                     android:paddingBottom="10dp"  
  9.                   android:layout_height="wrap_content">  
  10.   
  11.         <ImageView  
  12.                android:id="@+id/logo_img"  
  13.                android:layout_width="180dp"  
  14.                android:layout_height="wrap_content"  
  15.                android:src="@drawable/logo_big"  
  16.                android:layout_marginTop="10dp"  
  17.                android:layout_marginBottom="15dp"  
  18.                android:layout_centerHorizontal="true"  
  19.                android:contentDescription="@string/app_name"/>  
  20.   
  21.         <TextView  
  22.             android:id="@+id/txt_0"  
  23.             android:layout_alignLeft="@id/logo_img"  
  24.             android:layout_below="@id/logo_img"  
  25.             android:layout_marginLeft="15dp"  
  26.             android:text="show material progress"  
  27.             android:layout_width="wrap_content"  
  28.             android:layout_height="wrap_content"  
  29.             android:textSize="14sp"  
  30.             android:textColor="#797979"/>  
  31.   
  32.         <Button  
  33.             android:layout_centerHorizontal="true"  
  34.             android:layout_below="@id/txt_0"  
  35.             android:id="@+id/progress_dialog"  
  36.             style="@style/dialog_blue_button"  
  37.             android:layout_margin="10dp"  
  38.             android:text="Try me!"/>  
  39.   
  40.         <TextView  
  41.             android:id="@+id/txt_1"  
  42.             android:layout_alignLeft="@id/logo_img"  
  43.             android:layout_below="@id/progress_dialog"  
  44.             android:layout_marginLeft="15dp"  
  45.             android:text="A basic message"  
  46.             android:layout_width="wrap_content"  
  47.             android:layout_height="wrap_content"  
  48.             android:textSize="14sp"  
  49.             android:textColor="#797979"/>  
  50.   
  51.         <Button  
  52.             android:layout_centerHorizontal="true"  
  53.             android:layout_below="@id/txt_1"  
  54.             android:id="@+id/basic_test"  
  55.             style="@style/dialog_blue_button"  
  56.             android:layout_margin="10dp"  
  57.             android:text="Try me!"/>  
  58.   
  59.         <TextView  
  60.                 android:id="@+id/txt_2"  
  61.                 android:layout_alignLeft="@id/logo_img"  
  62.                 android:layout_below="@id/basic_test"  
  63.                 android:layout_marginLeft="15dp"  
  64.                 android:text="A title with a text under"  
  65.                 android:layout_width="wrap_content"  
  66.                 android:layout_height="wrap_content"  
  67.                 android:textSize="14sp"  
  68.                 android:layout_marginTop="15dp"  
  69.                 android:textColor="#797979"/>  
  70.   
  71.         <Button  
  72.                 android:layout_centerHorizontal="true"  
  73.                 android:layout_below="@id/txt_2"  
  74.                 android:id="@+id/under_text_test"  
  75.                 style="@style/dialog_blue_button"  
  76.                 android:layout_margin="10dp"  
  77.                 android:text="Try me!"/>  
  78.   
  79.         <TextView  
  80.                 android:id="@+id/txt_3"  
  81.                 android:layout_alignLeft="@id/logo_img"  
  82.                 android:layout_below="@id/under_text_test"  
  83.                 android:layout_marginLeft="15dp"  
  84.                 android:text="show error message"  
  85.                 android:layout_width="wrap_content"  
  86.                 android:layout_height="wrap_content"  
  87.                 android:textSize="14sp"  
  88.                 android:layout_marginTop="15dp"  
  89.                 android:textColor="#797979"/>  
  90.   
  91.         <Button  
  92.                 android:layout_centerHorizontal="true"  
  93.                 android:layout_below="@id/txt_3"  
  94.                 android:id="@+id/error_text_test"  
  95.                 style="@style/dialog_blue_button"  
  96.                 android:layout_margin="10dp"  
  97.                 android:text="Try me!"/>  
  98.   
  99.         <TextView  
  100.                 android:id="@+id/txt_4"  
  101.                 android:layout_alignLeft="@id/logo_img"  
  102.                 android:layout_below="@id/error_text_test"  
  103.                 android:layout_marginLeft="15dp"  
  104.                 android:text="A success message"  
  105.                 android:layout_width="wrap_content"  
  106.                 android:layout_height="wrap_content"  
  107.                 android:textSize="14sp"  
  108.                 android:layout_marginTop="15dp"  
  109.                 android:textColor="#797979"/>  
  110.   
  111.         <Button  
  112.                 android:layout_centerHorizontal="true"  
  113.                 android:layout_below="@id/txt_4"  
  114.                 android:id="@+id/success_text_test"  
  115.                 style="@style/dialog_blue_button"  
  116.                 android:layout_margin="10dp"  
  117.                 android:text="Try me!"/>  
  118.   
  119.   
  120.         <TextView  
  121.                 android:id="@+id/txt_5"  
  122.                 android:layout_alignLeft="@id/logo_img"  
  123.                 android:layout_below="@id/success_text_test"  
  124.                 android:layout_marginLeft="15dp"  
  125.                 android:text="A warning message, with a listener bind to the Confirm-button..."  
  126.                 android:layout_width="200dp"  
  127.                 android:layout_height="wrap_content"  
  128.                 android:textSize="14sp"  
  129.                 android:layout_marginTop="15dp"  
  130.                 android:textColor="#797979"/>  
  131.   
  132.         <Button  
  133.                 android:layout_centerHorizontal="true"  
  134.                 android:layout_below="@id/txt_5"  
  135.                 android:id="@+id/warning_confirm_test"  
  136.                 style="@style/dialog_blue_button"  
  137.                 android:layout_margin="10dp"  
  138.                 android:text="Try me!"/>  
  139.   
  140.         <TextView  
  141.                 android:id="@+id/txt_6"  
  142.                 android:layout_alignLeft="@id/logo_img"  
  143.                 android:layout_below="@id/warning_confirm_test"  
  144.                 android:layout_marginLeft="15dp"  
  145.                 android:text="A warning message, with listeners bind to Cancel and Confirm button..."  
  146.                 android:layout_width="200dp"  
  147.                 android:layout_height="wrap_content"  
  148.                 android:textSize="14sp"  
  149.                 android:layout_marginTop="15dp"  
  150.                 android:textColor="#797979"/>  
  151.   
  152.         <Button  
  153.                 android:layout_centerHorizontal="true"  
  154.                 android:layout_below="@id/txt_6"  
  155.                 android:id="@+id/warning_cancel_test"  
  156.                 style="@style/dialog_blue_button"  
  157.                 android:layout_margin="10dp"  
  158.                 android:text="Try me!"/>  
  159.   
  160.         <TextView  
  161.                 android:id="@+id/txt_7"  
  162.                 android:layout_alignLeft="@id/logo_img"  
  163.                 android:layout_below="@id/warning_cancel_test"  
  164.                 android:layout_marginLeft="15dp"  
  165.                 android:text="A message with a custom icon"  
  166.                 android:layout_width="200dp"  
  167.                 android:layout_height="wrap_content"  
  168.                 android:textSize="14sp"  
  169.                 android:layout_marginTop="15dp"  
  170.                 android:textColor="#797979"/>  
  171.   
  172.         <Button  
  173.                 android:layout_centerHorizontal="true"  
  174.                 android:layout_below="@id/txt_7"  
  175.                 android:id="@+id/custom_img_test"  
  176.                 style="@style/dialog_blue_button"  
  177.                 android:layout_margin="10dp"  
  178.                 android:text="Try me!"/>  
  179.   
  180.     </RelativeLayout>  
  181. </ScrollView>  


XAlertDialogLibrary(eclipse):点此下载
0
0
查看评论

Android漂亮的对话框项目sweet-alert-dialog

漂亮的对话框 sweet-alert-dialog 项目地址: https://github.com/pedant/sweet-alert-dialog android原生的dialog太生硬了,之前看到了这个效果非常不错但是没有用过,今天给别人推荐使用,他遇到了问题,导入后错误非...
  • cauchyweierstrass
  • cauchyweierstrass
  • 2015-06-02 21:22
  • 14506

【Android】让你的对话框炫起来!漂亮动画效果的Dialog

一个有漂亮动画效果的Dialog,类似于(Nifty Modal Window Effects),效果是模仿里面实现的。GIF有些卡,实际效果很好,(点这里)查看效果
  • u011494050
  • u011494050
  • 2014-08-02 19:23
  • 2946

Android自定义漂亮的Dialog

很多时候,可能Android默认的几种Dialog对话框已经不能满足我们的需求,我们需要自定义自己的Dialog对话框,包括样式的改变,功能的改变等等。今天,我给出一个Android自定义Dialog的例子,大家可以看看,如果这个自定义dialog的方法能够用得上,那我们完全可以定义出非常富有个性的...
  • oktears
  • oktears
  • 2013-07-27 16:40
  • 3293

Android对话框--各种对话框 界面优美

ndroid中对话框是非常常用的控件之一, google也提供了各种自定义对话框. 我觉得好多人都太模糊. 所以我全面的总结下. 对话框的几种实现方式: ActivityPopwindow 这个我之前详细讲过可以去看. popwindow详解DialogFragment ...
  • qq_28514109
  • qq_28514109
  • 2017-04-11 13:36
  • 596

sweet-alert-dialog在在android studio应用问题说明

看到这个sweet-alert-dialog很亲切,因为前端开发本人用的提示就是这个js插件,java牛人很厉害,直接弄成一个java包插件,Good! 下面记录如何引用到工程,并使用: sweet-alert-dialog插件可以直接到github上下载 地址:https://github....
  • W3031213101
  • W3031213101
  • 2016-09-21 09:17
  • 1513

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

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog) Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)是一个套制作精美、动画效果出色生动的Android对话、消息提示框,如图...
  • zhangphil
  • zhangphil
  • 2015-11-30 21:41
  • 5988

android加载中对话框,循环,透明

1、自定义对话框 public class HKDialogLoading extends Dialog { Context context; public HKDialogLoading(Context context, int theme) { super(context, theme...
  • jdsjlzx
  • jdsjlzx
  • 2012-06-08 11:31
  • 4248

android自定义实现好看的对话框

demo截图: 根据自己写的xml布局,可以实现,比较好看符合项目整体风格的dialog,上面的文字根据自己需要,自己输入的。 点击事件,也由你自己控制 上图的主要代码:     private static Button leftButton;...
  • hhhccckkk
  • hhhccckkk
  • 2013-05-13 15:42
  • 2764

谁说Android没有好的对话框?能够自定义炫酷样式的LemonHello来啦~

这是一个完全免费、且有售后服务的提示控件^_^gihub项目地址:https://github.com/1em0nsOft/LemonHello4Android不求回报,只求github star!!!都说Android下的优秀开源控件没有iOS多,屁,LemonKit就是要维护移动开发界的不平等地...
  • LemonSoftware
  • LemonSoftware
  • 2017-01-24 13:50
  • 1499

android 一个有漂亮动画效果的Dialog

原帖地址:http://gitonway.blog.163.com/blog/static/236894038201471102456976/
  • aoshiwenrou
  • aoshiwenrou
  • 2014-10-22 11:51
  • 1377
    个人资料
    • 访问:47433次
    • 积分:1007
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:11篇
    • 译文:0篇
    • 评论:95条
    文章分类
    最新评论