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


  • 相关阅读:
    006开源O/R映射框架内容回顾
    005---query接口初步
    004---持久对象的生命周期介绍
    C++中计算矩阵的行列式
    异面直线判定
    华夏万家不投资最佳激活顺序
    飞行目标定位测量相关文献记录
    程序运行缺少MSVCR110.dll
    C++中的return返回值:return0 or return -1?
    办宽带
  • 原文地址:https://www.cnblogs.com/qhyuan1992/p/5385308.html
Copyright © 2020-2023  润新知