首页 > 学院 > 开发设计 > 正文

第三方开源库:Dialog相关:DialogPlus + SweetAlertDialog

2019-11-09 15:40:38
字体:
来源:转载
供稿:网友

DialogPlus

github:https://github.com/orhanobut/dialogplus

效果图:

github原图: 这里写图片描述

demo效果图: 这里写图片描述 这里写图片描述

简介

总有3个Holder:ViewHolder、ListHolder、GridHolder,其中ViewHolder是用于自定义视图,ListHolder用于ListView,GridHolder用于GridView

注意:setExpanded(true)仅适用于ListHolder、GridHolder

gradle

compile 'com.orhanobut:dialogplus:1.11@aar'

使用

DialogPlus dialog = DialogPlus.newDialog(this) .setContentHolder(new ViewHolder(R.layout.dialog1)) .setContentHeight(ViewGroup.LayoutParams.WRAP_CONTENT) .setContentWidth(ViewGroup.LayoutParams.MATCH_PARENT) .setHeader(R.layout.header) .setFooter(R.layout.footer) .setAdapter(adapter) .setOnItemClickListener(this) .setGravity(Gravity.BOTTOM) .setExpanded(true) .create();dialog.show();

属性+方法

方法 说明
newDialog(Context context) 创建dialog
setContentHolder(Holder holder) 设置holder,必要
setContentWidth(int width) 宽:ViewGroup.LayoutParams.WRAP_CONTENT等
setContentHeight(int height)
setHeader(int resourceId) 头的布局或View
setFooter(int resourceId) 尾的布局或View
setGravity(int gravity) dialog的位置
setExpanded(boolean expanded) 是否可扩展,默认是false,仅适用于ListView和GridView
setCancelable(boolean isCancelable) 点击外部区域是否可以取消dialog
setAdapter(BaseAdapter adapter) ListView或GridView的adapter,ViewHolder不需要
setOnItemClickListener(OnItemClickListener listener) ListView或GridView的item的点击事件
setOnClickListener(OnClickListener listener) 点击事件
setOnDismissListener(OnDismissListener listener) dismiss的监听
setOnCancelListener(OnCancelListener listener) 取消的监听
getHolderView() 获取视图View
getHeaderView() 获取头布局
getFooterView() 获取尾布局
setMargin(left, top, right, bottom) Add margins to your dialog. They are set to 0 except when gravity is center. In that case basic margins are applied
setPadding(left, top, right, bottom) Set padding to the holder
setInAnimation(R.anim.abc_fade_in) 进入动画
setOutAnimation(R.anim.abc_fade_out) 移除动画
setContentBackgroundResource(resource) dialog的背景色
setOverlayBackgroundResource(resource) dialog意外的背景色

源码

https://git.oschina.net/libraryDemo/DialogPlus01

SweetAlertDialog

github地址:https://github.com/pedant/sweet-alert-dialog

效果图

这里写图片描述

gradle

repositories { mavenCentral()}dependencies { compile 'cn.pedant.sweetalert:library:1.3'}

注意:直接这样添加依赖会报错: 这里写图片描述

解决方法:

在AndroidManifest.xml中添加xmlns:tools="http://schemas.android.com/tools"tools:replace="android:icon"

这里写图片描述

基本使用

SweetAlertDialog pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE);pDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86"));pDialog.setTitleText("Loading");pDialog.setCancelable(false);pDialog.show();

NORMAL_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.NORMAL_TYPE);

这里写图片描述

PROGRESS_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.PROGRESS_TYPE);

这里写图片描述

SUCCESS_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.SUCCESS_TYPE);

这里写图片描述

WARNING_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.WARNING_TYPE);

这里写图片描述

ERROR_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.ERROR_TYPE);

这里写图片描述

CUSTOM_IMAGE_TYPE

new SweetAlertDialog(MainActivity.this, SweetAlertDialog.CUSTOM_IMAGE_TYPE);

这里写图片描述

其他常用方法

dialog.getProgressHelper().setBarColor(R.color.colorPrimary);dialog.setTitleText("title") .setContentText("ContentText") .setConfirmText("确定") .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick(SweetAlertDialog sweetAlertDialog) { dialog.dismissWithAnimation(); } }) .showCancelButton(true) .setCancelText("取消") .setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick(SweetAlertDialog sweetAlertDialog) { dialog.dismissWithAnimation(); } });dialog.show();

点击确认后切换到对话框样式:

.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); }})

源码

https://git.oschina.net/libraryDemo/SweetAlertDialog01


上一篇:博客归总

下一篇:html5第一天

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表