开源项目material-dialogs使用

之前浏览github的时候发现一个比较好用的MD风格的Dialog。这里记录一下使用。
Github地址:https://github.com/afollestad/material-dialogs

这里写图片描述

导入

compile 'com.afollestad.material-dialogs:core:0.9.1.0'
compile 'com.afollestad.material-dialogs:commons:0.9.1.0'

具体的使用

  • Basic Dialog

简单的dialog

                 new MaterialDialog.Builder(MainActivity.this)
                                .title("basic dialog")
                                .content("一个简单的dialog,高度会随着内容改变,同时还可以嵌套RecyleView")
                                .iconRes(R.drawable.icon)
                                .positiveText("同意")
                                .negativeText("不同意")
                                .neutralText("更多信息")
                                .widgetColor(Color.BLUE)//不再提醒的checkbox 颜色
                                //CheckBox
                                .checkBoxPrompt("不再提醒", false, new CompoundButton.OnCheckedChangeListener(){
                                    @Override
                                    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                                        if (b) {
                                            Toast.makeText(MainActivity.this, "不再提醒", Toast.LENGTH_LONG).show();
                                        } else {
                                            Toast.makeText(MainActivity.this, "会再次提醒", Toast.LENGTH_LONG).show();
                                        }
                                    }
                                })
                                //嵌套recycleview,这个的点击事件可以先获取此Recycleview对象然后自己处理
                                .adapter(new RecycleviewAdapter(getData(), MainActivity.this), new LinearLayoutManager(MainActivity.this))


                                .itemsCallback(new MaterialDialog.ListCallback() {
                                    @Override
                                    public void onSelection(MaterialDialog dialog, View itemView, int position, CharSequence text) {
                                        dataChoose = "下标:" + position + " and 数据:" + mData.get(position);
                                    }
                                })

                                //点击事件添加 方式1
                                .onAny(new MaterialDialog.SingleButtonCallback() {
                                    @Override
                                    public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                                        if (which == DialogAction.NEUTRAL) {
                                            Toast.makeText(MainActivity.this, "更多信息", Toast.LENGTH_LONG).show();
                                        } else if (which == DialogAction.POSITIVE) {
                                            Toast.makeText(MainActivity.this, "同意" + dataChoose, Toast.LENGTH_LONG).show();
                                        } else if (which == DialogAction.NEGATIVE) {
                                            Toast.makeText(MainActivity.this, "不同意", Toast.LENGTH_LONG).show();
                                        }

                                    }
                                })
                                .show();

相应的效果:
简单的diaolog,同意和不同意的字体颜色是默认是R.color.colorAccent

这里写图片描述

文本变多的时候会自动拉长高度

这里写图片描述

嵌套一个recycleview,这个的点击事件可以先获取此Recycleview对象然后自己处理

  .adapter(new RecycleviewAdapter(getData(), MainActivity.this), new LinearLayoutManager(MainActivity.this))

//
RecycleView rc=  dialog.getRecyclerView();

这里写图片描述

这里添加一个更多信息的按钮

 .neutralText("更多信息")

  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值