手机端的窗口很小,显示的内容很有效,所以平时开发时难免会使用dialog来进行一些重要信息的显示。
先上GitHub地址,表示对作者Aidan Follestad的尊重:
https://github.com/afollestad/material-dialogs
我写这个的时候已经一万多星了,记得第一次使用的时候好像是五六千的样子。
为什么突然想要记一下呢?有个小插曲,前几天新项目用到dialog,我立马就想到了material-dialogs,然后用android studio上面的Library Dependency查找material-dialogs,搜到了一个com.robbypond:material-dialogs:1.0.0,我一开始以为Aidan Follestad升到了1.0.0版本了,就开始使用了。这个dialog的用法与原作者的使用方法几乎一模一样,直到有一天我要用progress dialog,发现这个库不支持progress dialog,原来我可是使用过不下十遍的,才发现此dialog并非彼dialog,而且我发现用android studio的Library Dependency根本搜不到Aidan Follestad的这个开源库,其中原因我就不得而知了。
终于进入正题。
说明:使用该库的activity必须使用继承AppCompat themes的主题。现在基本上都是用AppCompatActivity,必须使用AppCompat themes主题。
导入dependencies
compile ‘com.afollestad.material-dialogs:core:0.9.4.7’
导入后sysc的时候出现无法解析com.android.support:appcompat-v7:26.0.1,用android studio 的Library Dependency搜了一下,只有v7:26.0.0-alpha1,可能是国内更新比较慢的原因。(这个困扰我很长时间,一度想放弃使用0.9.4.5,这个是依赖v7:25.3.1)。
解决办法:既然我们没办法使用v7:26.0.1,就把它换成我们能使用的v7:26.0.0-alpha1:
compile 'com.android.support:appcompat-v7:26+'
compile 'com.afollestad.material-dialogs:core:0.9.4.7', {
exclude group: "com.android.support"
}
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
简单来说,就是把0.9.4.7里面的support库全部干掉,然后再添加自己的support库,库里面需要recyclerview,别忘了添加进去。
接下来的东西都是按照原作者GitHub上面的顺序来,当然,我喜欢精简。
基本用法,各个项可随意增减:
new MaterialDialog.Builder(this) //不能设置主题
.title("标题")
.content("这是内容部分")
.positiveText("确定")
.negativeText("取消")
.neutralText("更多信息")
.stackingBehavior(StackingBehavior.NEVER) //ADAPTIVE:需要的时候垂直放置,ALWAYS:垂直放置
.show();
待续…