实现效果
https://github.com/pedant/sweet-alert-dialog
添加依赖
repositories {
mavenCentral()
}
dependencies {
compile 'cn.pedant.sweetalert:library:1.3'
}
注意:这个时候同步一下项目会报一个错误,解决办法:
1,在AndroidManifest.xml中manifest根标签添加
xmlns:tools="http://schemas.android.com/tools"
2,在application标签下添加
tools:replace="android:icon,android:theme,android:allowBackup"
显示代码:
// 只显示标题
public void show1(View view) {
new SweetAlertDialog(this)
.setTitleText("我是标题")
.show();
}
// 同时显示标题和内容
public void show2(View view) {
new SweetAlertDialog(this)
.setTitleText("我是标题")
.setContentText("小姐姐你好,有看见过我的小熊吗?")
.show();
}
// 异常情况样式
public void show3(View view) {
new SweetAlertDialog(this, SweetAlertDialog.ERROR_TYPE)
.setTitleText("Oops...")
.setContentText("Something went wrong!")
.show();
}
// 显示警告
public void show4(View view) {
new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)
.setTitleText("Are you sure?")
.setContentText("Won't be able to recover this file!")
.setConfirmText("Yes,delete it!")
.show();
}
// 成功完成
public void show5(View view) {
new SweetAlertDialog(this, SweetAlertDialog.SUCCESS_TYPE)
.setTitleText("Good job!")
.setContentText("You clicked the button!")
.show();
}
// 自定义图标Icon
public void show6(View view) {
new SweetAlertDialog(this, SweetAlertDialog.CUSTOM_IMAGE_TYPE)
.setTitleText("Sweet!")
.setContentText("Here's a custom image.")
.setCustomImage(R.drawable.ic_launcher)
.show();
}
// 警告 + 确定按钮 + 确定点击监听
public void show7(View view) {
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) {
Toast.makeText(DialogActivity.this, "删除成功!", Toast.LENGTH_SHORT).show();
sDialog.dismissWithAnimation();
}
})
.show();
}
// 警告 + 取消 + 取消监听 + 确定 + 确定监听
public void show8(View view) {
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) {
Toast.makeText(DialogActivity.this, "已取消!", Toast.LENGTH_SHORT).show();
sDialog.cancel();
}
})
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sDialog) {
Toast.makeText(DialogActivity.this, "删除成功!", Toast.LENGTH_SHORT).show();
sDialog.dismissWithAnimation();
}
})
.show();
}
// 在确认监听中显示成功对话框
public void show9(View view){
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) {
sDialog
.setTitleText("Deleted!")
.setContentText("Your imaginary file has been deleted!")
.setConfirmText("OK")
.setConfirmClickListener(null)
.changeAlertType(SweetAlertDialog.SUCCESS_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();*/
}
})
.show();
}
// 显示进度条
public void show10(View view){
SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86"));
pDialog.setTitleText("正在拼命加载...");
pDialog.setCancelable(false);
pDialog.show();
}
可以通过SweetAlertDialog.getProgressHelper()调用materialish-progress中下面这些方法,来动态改变进度条的样式:
https://github.com/pnikosis/materialish-progress
resetCount()
isSpinning()
spin()
stopSpinning()
getProgress()
setProgress(float progress)
setInstantProgress(float progress)
getCircleRadius()
setCircleRadius(int circleRadius)
getBarWidth()
setBarWidth(int barWidth)
getBarColor()
setBarColor(int barColor)
getRimWidth()
setRimWidth(int rimWidth)
getRimColor()
setRimColor(int rimColor)
getSpinSpeed()
setSpinSpeed(float spinSpeed)