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

 

漂亮的对话框 sweet-alert-dialog

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

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

效果如下


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

MainActivity.java

    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

    <?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):点此下载

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

posted @ 2016-12-14 15:54  枫-  阅读(231)  评论(0编辑  收藏  举报