前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >万能的dialog库(包括类似popwindow效果)

万能的dialog库(包括类似popwindow效果)

作者头像
AWeiLoveAndroid
发布2018-09-03 17:02:18
1.4K1
发布2018-09-03 17:02:18
举报

博主最近发现了一个万能的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版本)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.06.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、目前这个库具有的主要功能如下:
  • 二、先看一下1.1.5版本的特性:
  • 三、使用前的导包:
  • 四、初始化
  • 五、示例代码(比如在MainActivity里面)
  • 六、相关回调源码解析
  • 七、不同样式加载使用方法
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档