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

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

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

效果如下

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

MainActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
public class MainActivity  extends Activity  implements View.OnClickListener {
 
     private int i = - 1 ;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         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 ;
         }
     }
}

activity_main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<? 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" >
 
            < ImageView
                  android: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" />
 
                  < TextView
                         android: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" />
 
                  < Button
                        android: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!" />
 
                 < TextView
                        android: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" />
 
                < Button
                        android: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!" />
 
               < TextView
                       android: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" />
 
               < Button
                      android: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!" />
 
              < TextView
                      android: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" />
 
              < Button
                     android: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!" />
 
              < TextView
                     android: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" />
 
              < Button
                     android: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!" />
 
              < TextView
                     android: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" />
 
             < Button
                    android: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!" />
 
             < TextView
                    android: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" />
 
            < Button
                   android: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!" />
 
            < TextView
                   android: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" />
 
           < Button
                  android: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 >

XAlertDialogLibrary(eclipse):点此下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值