Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)

来源:互联网 发布:用友软件畅捷通 编辑:程序博客网 时间:2024/05/17 07:18

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)

Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)是一个套制作精美、动画效果出色生动的Android对话、消息提示框,如图所示(部分,还有更多效果,不在此一一展示):




SweetAlertDialog(sweet-alert-dialog)在github上的项目主页是:https://github.com/pedant/sweet-alert-dialog
需要注意的是,SweetAlertDialog(sweet-alert-dialog)作为库,其自身又依赖另外一个github上的开源库materialish-progress(其在github上的项目主页是:https://github.com/pnikosis/materialish-progress )。如果使用SweetAlertDialog(sweet-alert-dialog),则需要再把materialish-progress也导入到Eclipse中作为库被SweetAlertDialog(sweet-alert-dialog)引用。


贴一部分SweetAlertDialog(sweet-alert-dialog)在demo中的代码:

package cn.pedant.SweetAlert.sample;import android.app.Activity;import android.os.Bundle;import android.os.CountDownTimer;import android.view.View;import cn.pedant.SweetAlert.SweetAlertDialog;public class SampleActivity extends Activity implements View.OnClickListener {    private int i = -1;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.sample_activity);        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;        }    }}

布局文件:

<?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>


0 0