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



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

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

2ce4faacd365f03fe211446da703bf06.png

2afb127638d8d62fb5bd9307f3642dd2.png

089aafeb0f6958990c94d3b2f09d6af6.png

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;

}

}

}

布局文件:

android:layout_height="match_parent"

android:background="#FFF"

xmlns:android="http://schemas.android.com/apk/res/android">

android:paddingBottom="10dp"

android:layout_height="wrap_content">

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"/>

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"/>

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!"/>

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"/>

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!"/>

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"/>

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!"/>

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"/>

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!"/>

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"/>

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!"/>

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"/>

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!"/>

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"/>

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!"/>

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"/>

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!"/>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值