• 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

  • 相关阅读:
    合并一个二维数组中相同项,其他数量则相加
    清除空值
    数组的一维下标换为指定的key值
    二维数组排序
    word输出
    解决Zend加密的PHP页面出现Fatal error: Incompatible file format: The encoded file has format major ID 1, whereas the Loader expects 4 in
    nginx反向代理substitutions4nginx模块实现替换字符盗站 nginx.conf配置
    ubuntu 编译安装nginx 并添加substitutions4nginx模块
    windows 2008 R2 wincache 不稳定
    php5.5及php5.6 wincache无法启用问题
  • 原文地址:https://www.cnblogs.com/mrray/p/6179660.html
Copyright © 2020-2023  润新知