SweetAlertDialog

来源:互联网 发布:json和ajax区别 编辑:程序博客网 时间:2024/05/16 15:52

项目地址: 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
0 0
原创粉丝点击