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() {@Overridepublic void onClick(SweetAlertDialog sweetAlertDialog) {dialog.dismissWithAnimation();}}).showCancelButton(true).setCancelText("取消").setCancelClickListener(new SweetAlertDialog.OnSweetClickListener() {@Overridepublic void onClick(SweetAlertDialog sweetAlertDialog) {dialog.dismissWithAnimation();}});
dialog.show();

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

.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {@Overridepublic 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

Alerter

顶部弹出的View,严格来说跟Dialogz这个类无关,只是UI效果相似,可以设置icon,但是icon都是白色的。API>=16
github:https://github.com/Tapadoo/Alerter

效果图

使用

Activity中使用Alerter.create(MainActivity.this),在Fragment中使用Alerter.create(getActivity)

Alerter.create(MainActivity.this).setTitle("Title").setText("message").setBackgroundColor(R.color.colorAccent).setIcon(R.mipmap.ic_launcher_round).setDuration(3000).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "click", Toast.LENGTH_SHORT).show();}}).show();

源码

Demo: https://git.oschina.net/libraryDemo/Alerter01

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

  1. 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署

    基于第三方开源库的OPC服务器开发指南(2)--LightOPC的编译及部署 前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代 ...

  2. 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善...

    链接地址:http://www.tuicool.com/articles/jyA3MrU 时间 2015-01-05 10:08:18  我是程序猿,我为自己代言 原文  http://blog.cs ...

  3. (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  4. itextdef将动态html转为pdf,[C#]使用第三方开源库iText7.pdfHtml,将Html转换成Pdf,以及如何以Html作为打印模板...

    使用第三方开源库iText7.pdfHtml,将html和css转成pdf,官方:https://itextpdf.com/en/demos/convert-html-css-to-pdf-free- ...

  5. Android常用的第三方开源库和框架

    第三方开源库和组件 一个专注于平滑滚动的Android图像加载和缓存库 https://github.com/bumptech/glide 图片缓存Universal-Image-Loader: ht ...

  6. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...

  7. Android之史上最全最简单最有用的第三方开源库收集整理

    Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...

  8. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发...

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文   http ...

  9. 【安卓开源集合】最全最有用的第三方开源库收集整理,快速开发必备,还能提升效率

    扩展功能库 SlidingMenu  : SlidingMenu 能非常容易的让开发者实现程序的抽屉效果,所谓的抽屉效果如下图所示,通常被用作呼出菜单.而且SlidingMenu能很方便的与Actio ...

  10. 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...

最新文章

  1. senfile函数实例的运行过程截图
  2. oracle 10g 连接语句,Oracle 10g数据库基础之基本查询语句-下-连接子查询
  3. 写文献综述的二十八个要点
  4. C++ Primer 5th笔记(chap 17 标准库特殊设施)指定浮点数记数法
  5. Django从理论到实战(part20)--DLT常用过滤器
  6. Java基本类型练习1
  7. 队列模块(Queue)
  8. 学习Python不需要程基础?
  9. 3-算法 鸡兔同笼 简单逻辑
  10. 上拉加载_如何用Vue + Mint UI实现上拉加载更多
  11. MySQL 授予普通用户PROCESS权限
  12. 成功演示六要素之二——意外
  13. MySQL开启命令自动补全功能(auto-rehash)
  14. Unity联网插件(PUN)
  15. 量子计算和量子加密的基础问答
  16. 主成分分析PCA和经验正交函数分析EOF的原理(通俗易懂的解释)
  17. 增量学习(Incremental Learning)小综述
  18. R语言:商业数据分析实例(4)【总结篇,回归】
  19. 操作系统国产化,你支持吗?鸿蒙OS万物互联!
  20. Matlab基于蚁群算法求解多旅行商MTSP问题

热门文章

  1. 以太坊是什么——以太坊创始人 Vitalik Buterin 的亲自解答
  2. 如何在小程序内使用流式布局实现动态相册效果?
  3. 安卓php解析器,[开源推荐]用Golang实现的PHP解析器
  4. Vue 成中国普通高等院校核心课程
  5. jquery ajax无刷新请求Struts2验证用户名密码数据库是否存在
  6. java编写前端程序连接数据库 医院信息管理系统
  7. spring事务的传播
  8. jquery扑捉ENTER键按下
  9. 涂鸦TuyaOS SDK 网关例程-wifi配网
  10. c/c++中点运算符“.“和箭头运算符“→“的区别