记录一下Material Dialogs的使用

曹泉
2023-12-01

手机端的窗口很小,显示的内容很有效,所以平时开发时难免会使用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();

待续…

 类似资料: