当前位置: 移动技术网 > IT编程>移动开发>Android > Android 对话框sweet-alert-dialog

Android 对话框sweet-alert-dialog

2019年07月24日  | 移动技术网IT编程  | 我要评论

重庆医疗人才网,徐沛东简历,borancit

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>

以上就是android 对话框sweet-alert-dialog 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网