前言
这篇文章是对框架Material-dialogs的使用的总结,如果已经熟练使用,那这篇文章对您毫无帮助
提示:以下是本篇文章正文内容,下面案例可供参考
一、Material-dialogs是什么?
Material-dialogs为一个弹窗的框架,帮助我们快速搭建各种弹窗,使用这个框架的理由只有一个,它是kotlin,并且具有高度自定义性,此文章默认读者已经会基本使用kotlin
二、使用步骤
1.引入库
1.导入项目
它有几种弹窗可以分别导入,可根据项目需要导入,最基本的是需要导入下面这个:
implementation 'com.afollestad.material-dialogs:core:3.3.0'
其他还有
- 带输入文本的弹窗:
implementation 'com.afollestad.material-dialogs:input:3.3.0'//
- 选择文件的弹窗:
implementation 'com.afollestad.material-dialogs:files:3.3.0'
- 颜色选择弹窗:
implementation 'com.afollestad.material-dialogs:color:3.3.0'
- 时间选择弹窗:
implementation 'com.afollestad.material-dialogs:datetime:3.3.0'
- 底部弹窗:(本文章必定使用)
implementation 'com.afollestad.material-dialogs:bottomsheets:3.3.0'
- 绑定LifeCycle(本文章必定使用)
implementation 'com.afollestad.material-dialogs:lifecycle:3.3.0'
2.使用弹窗
- 自定义弹窗(本处为等待框的实现)
注意看代码,代码中有注释噢~
fun FragmentActivity.showWaitDialog(): MaterialDialog {
return MaterialDialog(this).show {
customView( //自定义弹窗
viewRes = R.layout.base_dialog_wait,//自定义文件
dialogWrapContent = true, //让自定义宽度生效
scrollable = true, //让自定义宽高生效
noVerticalPadding = true //让自定义高度生效
)
lifecycleOwner(this@showWaitDialog)//绑定生命周期
cancelOnTouchOutside(false) //点击外部不消失
}
}
效果:
- 底部显示的网格式弹窗(需导入底部弹窗)
注意看代码,代码中有注释噢~
/**
* 底部显示的GridLayout
* @param list 带图片和文字的BasicGridItem
*/
fun FragmentActivity.showBottomGridDialog(
list: List<BasicGridItem>