万能的dialog库(包括类似popwindow效果)
博主最近发现了一个万能的dialog库
一、目前这个库具有的主要功能如下:
material风格(v7支持包中的),ios风格,自动获取顶层activity,可在任意界面弹出,可在任意线程弹出。(也就是说安卓也可以实现ios风格的dialog,666,是不是吊炸天呢?博主再也不会被ios哥们嘲笑了。博主也可以轻松实现它们系统dialog的效果)
二、先看一下1.1.5版本的特性:
loading对话框和ios风格的dialog传入context和activity均可弹出dialog.
样式包括常用的ios风格dialog和meterial design风格的dialog.
自定义样式:可以传入自定义的view,定义好事件,本工具负责显示
考虑了显示内容超多时的滑动和与屏幕的间隙.
三、使用前的导包:
步骤1.将JitPack存储库添加到您的构建文件中
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
步骤2.添加依赖关系
dependencies {
compile 'com.github.hss01248:DialogUtil:1.1.5'
}
最新版本请看这里的版本是多少,就写多少:
https://github.com/hss01248/DialogUtil/releases
四、初始化
五、示例代码(比如在MainActivity里面)
以下代码是模仿ios的dialog风格(布局里面定义一个button就行了),运行图如下图:
代码如下:
六、相关回调源码解析
MyDialogListener源码解释:
MyItemDialogListener源码解释:
七、不同样式加载使用方法
(1)ios样式的加载
buildLoading( )
buildLoading( CharSequence msg)
updateLoadingMsg(final String msg)//更新msg
(2)android样式的加载
buildMdLoading( )
buildMdLoading( CharSequence msg)
updateLoadingMsg(final String msg)//更新msg
(3)ProgressDialog的水平
buildProgress( CharSequence msg,boolean isHorizontal)
//更新进度
updateProgress(final Dialog dialog, final int progress, final int max, final CharSequence msg, final boolean isHorizontal)
(4)ProgressiveDialog of Spinner,用文字显示的进度(自动计算):
(5)Appcompat-v7的AlertDialog
1)buildMdAlert( CharSequence title, CharSequence msg, MyDialogListener listener)
2)buildMdSingleChoose( CharSequence title, int defaultChosen, CharSequence[] words, MyItemDialogListener listener)
3)buildMdMultiChoose( CharSequence title, CharSequence[] words, List selectedIndexs, MyDialogListener btnListener)
(6)IOS风格(含按下效果)
1)buildIosAlert( CharSequence title, CharSequence msg, MyDialogListener listener)
2)buildIosAlertVertical( CharSequence title, CharSequence msg, MyDialogListener listener)
3)buildNormalInput( CharSequence title, CharSequence hint1,
CharSequence hint2,CharSequence firstTxt, CharSequence secondTxt, MyDialogListener listener)
4)buildIosSingleChoose( List words, MyItemDialogListener listener)
5)buildBottomItemDialog( List words, CharSequence bottomTxt, MyItemDialogListener listener)
(7)BottomSheetDialog的设计
1)buildBottomSheetLv(CharSequence title, List datas, CharSequence bottomTxt, MyItemDialogListener listener)
2)buildBottomSheetGv( CharSequence title, List datas, CharSequence bottomTxt, int columnsNum ,MyItemDialogListener listener)
(8)GridView中拉出来时:
(9)弹出自己定义的一个视图:(示例图中有一个网页视图)
ViewGroup customView = (ViewGroup) View.inflate(this,R.layout.customview,null);
final ConfigBean bean = StyledDialog.buildCustom(customView, Gravity.CENTER);
final Dialog dialog1 = bean.show();
github地址如下:
https://github.com/glassLake/DialogUtils(这个库已经停止更新)请移步下面这个库:
https://github.com/hss01248/DialogUtil (博主目前使用的是1.1.5版本)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android 5.1 可见不可得
Android 5.0是2014年谷歌推出的唯一新版本,在 此之前谷歌一年只内会推出2个乃至2个以上的Android新版本。进入2015年,谷歌似乎又要恢复这一传统。近年来,谷歌大多在六月或七月发布 Android新版本,但在2015年,谷歌将加快速度。事实上,Android 5.1已经推出,它预装在针对印尼市场的Android One智能手机当中。 目前唯一能发现Android 5.1身影的地方是谷歌Android官网印尼Android One智能手机介绍页面。首批采用Android 5.1的印尼智能手机有Evercross One X、Mito Impact和Nexian Journey。我们大多数人甚至还没有听说过这3个智能手机品牌。 尽管谷歌目前还没有透露Android 5.1棒棒糖计划,但是它应该在合适的时间适配Nexus系列智能手机和平板电脑,并且公布AOSP(Android开源项目)代码。 文章转载自 开源中国社区 [http://www.oschina.net]
- 下一篇
学 Kotlin,看这一篇就够了
为什么学习Kotlin? 欢呼声热烈 谷歌宣布 Kotlin 成 Android 开发一级语言 Kotlin on Android. Now official 17 位谷歌 Android 开发专家是如何看待 Kotlin 的? 为什么你该摒弃 Java ,全面转向 Kotlin 语言? 为什么说Kotlin值得一试 如何学习Kotlin? 官网以及相关文档 Kotlin 官网 Kotlin 文档 Kotlin 博客 Kotlin 中文文档 Kotlin on GitHub Kotlin开发实践 Getting started with Android and Kotlin Kotlin Android Extensions Android Frameworks Using Annotation Processing kotlin-examples Calling Java code from Kotlin Calling Kotlin from Java 使用Kotlin开发Android应用 Kotlin入门和使用讲稿(PPT) Kotlin入门和使用讲稿(文本) Kotlin从入...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS7安装Docker,走上虚拟化容器引擎之路