第三方开源库:Dialog相关:DialogPlus + SweetAlertDialog +Alerter
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相关推荐
- 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署
基于第三方开源库的OPC服务器开发指南(2)--LightOPC的编译及部署 前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代 ...
- 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善...
链接地址:http://www.tuicool.com/articles/jyA3MrU 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http://blog.cs ...
- (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联
在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...
- 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- ...
- Android常用的第三方开源库和框架
第三方开源库和组件 一个专注于平滑滚动的Android图像加载和缓存库 https://github.com/bumptech/glide 图片缓存Universal-Image-Loader: ht ...
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...
- Android之史上最全最简单最有用的第三方开源库收集整理
Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发...
[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http ...
- 【安卓开源集合】最全最有用的第三方开源库收集整理,快速开发必备,还能提升效率
扩展功能库 SlidingMenu : SlidingMenu 能非常容易的让开发者实现程序的抽屉效果,所谓的抽屉效果如下图所示,通常被用作呼出菜单.而且SlidingMenu能很方便的与Actio ...
- 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...
最新文章
- senfile函数实例的运行过程截图
- oracle 10g 连接语句,Oracle 10g数据库基础之基本查询语句-下-连接子查询
- 写文献综述的二十八个要点
- C++ Primer 5th笔记(chap 17 标准库特殊设施)指定浮点数记数法
- Django从理论到实战(part20)--DLT常用过滤器
- Java基本类型练习1
- 队列模块(Queue)
- 学习Python不需要程基础?
- 3-算法 鸡兔同笼 简单逻辑
- 上拉加载_如何用Vue + Mint UI实现上拉加载更多
- MySQL 授予普通用户PROCESS权限
- 成功演示六要素之二——意外
- MySQL开启命令自动补全功能(auto-rehash)
- Unity联网插件(PUN)
- 量子计算和量子加密的基础问答
- 主成分分析PCA和经验正交函数分析EOF的原理(通俗易懂的解释)
- 增量学习(Incremental Learning)小综述
- R语言:商业数据分析实例(4)【总结篇,回归】
- 操作系统国产化,你支持吗?鸿蒙OS万物互联!
- Matlab基于蚁群算法求解多旅行商MTSP问题
热门文章
- 以太坊是什么——以太坊创始人 Vitalik Buterin 的亲自解答
- 如何在小程序内使用流式布局实现动态相册效果?
- 安卓php解析器,[开源推荐]用Golang实现的PHP解析器
- Vue 成中国普通高等院校核心课程
- jquery ajax无刷新请求Struts2验证用户名密码数据库是否存在
- java编写前端程序连接数据库 医院信息管理系统
- spring事务的传播
- jquery扑捉ENTER键按下
- 涂鸦TuyaOS SDK 网关例程-wifi配网
- c/c++中点运算符“.“和箭头运算符“→“的区别