zoukankan      html  css  js  c++  java
  • 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):点此下载


  • 相关阅读:
    September 17th 2016 Week 38th Saturday
    【2016-09-16】UbuntuServer14.04或更高版本安装问题记录
    September 16th 2016 Week 38th Friday
    September 11th 2016 Week 38th Sunday
    September 12th 2016 Week 38th Monday
    September 10th 2016 Week 37th Saturday
    September 9th 2016 Week 37th Friday
    c++暂停
    八皇后问题
    ( 转转)Android初级开发第九讲--Intent最全用法(打开文件跳转页面等)
  • 原文地址:https://www.cnblogs.com/qhyuan1992/p/5385308.html
Copyright © 2011-2022 走看看