Android 对话框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):点此下载

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

(0)

相关推荐

  • 你值得拥有的Android Studio开发小技巧

    上一次发过了一个介绍Studio的,这里再发一个补充下. 我们都知道,Android Studio的功能是非常强大的,也是很智能的.如果有人告诉你学Android开发要用命令行,你可以告诉他Android Studio是谷歌提供给开发者提升效率的.试想想你脑袋里有一堆想法,但是开发编码效率太低导致想法都丢失了或者兴趣消失了多可怕对不.好了废话不多说,这里介绍几个比较好用的技巧和快捷键,提升我们的编码效率. 1.完成一句代码 如果我们调用了一个方法,并给方法传递了参数,这个时候如果我们要结束这个语

  • Android Studio导入第三方类库的方法

    一.导入*.jar包 1.直接copy ①复制*.jar包,粘贴到主工程目录的libs下边 ②右键,将此jar包设置成自己的library ③然后在工程右键的选择项目单击Open Module Settings,在Dependencies中选择添加文件 这样,就表示jar包添加成功了. 打开app目录下的build.gradle 表示添加成功. 2.build.gradle里边添加一句: 复制代码 代码如下: compile fileTree(include: ['*.jar'], dir: '

  • sweet alert dialog 在android studio应用问题说明详解

    看到这个sweet-alert-dialog很亲切,因为前端开发本人用的提示就是这个js插件,java牛人很厉害,直接弄成一个java包插件,Good! 下面记录如何引用到工程,并使用: sweet-alert-dialog插件可以直接到github上下载 地址:https://github.com/pedant/sweet-alert-dialog 或者直接到发布好的页面下载: https://github.com/pedant/sweet-alert-dialog/releases 我下载的

  • 使用AndroidStudio上传忽略文件至SVN Server的解决办法

    在同组项目进行共享时,容易把本地的配置文件比如*.iml等文件上传至共享服务器,这样会对队友造成巨大的麻烦,为了解决这个问题,可以使用下面方法解决,下面以上传到服务器的app.iml文件为例. 一.在AS的Setting中取消忽略文件后缀".iml": 二.在Windows目录中找到当前项目下的"app.iml"文件,右键该文件,选中TortoiseSVN,如下图2位置: 图2 在该项下选择Delete,删除该文件,如下图3所示: 图3 三.删除该文件后,在当前目录

  • Android pdf viewer在android studio应用问题说明详解

    之前一直是做.NET开发的,最近需要弄一个新闻app,能力有限,只能借助HTML5 WebAPP+android studio来完成这项工作. android studio主要用WebView来加载发布好的WebApp,打包生产APP. 其中由于显示一些pdf文档,所以研究了一下,记录一下心得,同时也希望帮助到新手们. android 显示网络pdf,基本原理:先将pdf文件通过DownloadManager下载到手机sdk某个文件夹中,然后通过android-pdf-viewer插件进行显示.

  • 属于自己的Android对话框(Dialog)自定义集合

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Acti

  • Android 对话框 Dialog使用实例讲解

    对话框 Dialog 什么是对话框 对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息,或显示某种状态.如 : 显示进度条对话框, 退出提示. 对话框的特点: 1, 当前界面弹出的小窗口. 2, 用户要与它进行交互, 可以接收用户输入的信息, 也可以反馈信息给用户. 常用对话框: 1, 普通对话框 AlertDialog 2, 进度条对话框 ProgressDialog 3, 日期对话框 DatePickerDialog 4, 时间对话框 TimePi

  • Android开发之缓冲dialog对话框创建、使用与封装操作

    本文实例讲述了Android开发之缓冲dialog对话框创建.使用与封装操作.分享给大家供大家参考,具体如下: package com.hstech.handysystem.prompt; import android.app.Dialog; import android.content.Context; import android.graphics.drawable.ColorDrawable; import android.widget.TextView; import com.hstec

  • Android 对话框(Dialog)大全详解及示例代码

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Acti

  • Android中制作自定义dialog对话框的实例分享

    自定义dialog基础版 很多时候,我们在使用android sdk提供的alerdialog的时候,会因为你的系统的不同而产生不同的效果,就好比如你刷的是MIUI的系统,弹出框都会在顶部显示!这里简单的介绍自定义弹出框的应用. 首先创建布局文件dialog: 代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.and

  • Android 对话框sweet-alert-dialog

    android原生的dialog太生硬了,之前看到了这个效果非常不错但是没有用过,今天给别人推荐使用,他遇到了问题,导入后错误非常多,也没有库工程.于是自己认真看了一下,这是个AndroidStudio的工程,并且里面还依赖于materialish-progress工程,也是个AS的工程.于是打算弄一个eclipse的版本并且将这两个工程融合在一起作为一个库工程XAlertDialogLibrary.使用时将其作为库导入项目中即可. 效果如下 使用起来非常简单,测试代码如下: MainActiv

  • Android编程实现自定义Dialog的大小自动控制方法示例

    本文实例讲述了Android编程实现自定义Dialog的大小自动控制方法.分享给大家供大家参考,具体如下: Android应用开发中,无论是出于功能还是增加用户体验,弹出对话框(Dialog)进行一些操作提示是非常必要的.Android系统有自带的各种样式的对话框,但是根据项目需要可能从效果上满足不了需求,只时我们就要自定义对话框. 我们可以自定义Dialog的样式及展示布局,做出我们想要的对话框,但有的时候,我们做出的对话框要么显示太大,要么显得太小,或者是在不同的页面大小不一样,需要做个统一

  • Android对话框AlertDialog详解

    目录 1.创建AlertDialog 1.1 布局文件代码如下: 1.2 MainActivity的主要代码如下所示: 2.普通提示对话框 3.普通列表对话框 4.单选对话框 5.复选对话框 6.自定义登录对话框 6.1自定义登录对话框的布局文件 6.2 自定义对话框的代码逻辑 7.自定义对话框需要注意问题 7.1 系统dialog的宽度 7.2 改变Android Dialog弹出后的Activity背景亮度: 7.3 如何控制弹窗弹出的位置: 8.代码下载地址 AlertDialog可以在当

  • Android自定义弹框Dialog效果

    本文实例为大家分享了Android自定义弹框Dialog效果的具体代码,供大家参考,具体内容如下 1.dialog_delete.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="ma

随机推荐