自定义 Material Design风格的提示框

其实在14年谷歌就推出了全新的设计语言Material Design,这种设计语言旨在为手机、平板电脑、台式机和“其他平台”提供更一致、更广泛的“外观和感觉”。简单来说,就是一种扁平化的设置语言,我们都知道在以前android讲究的是拟物化,比如,系统一些内置的应用,我们看到图标就知道它是干什么的,这样设计是为了防止用户,见到这个应用不知道是做什么的,但是随着发展,我们对手机的使用程度已经不需要这些外在的提示去引导我们。所以谷歌推出了Material Design,它注重的是效果的展示和用户体验,支持各种新动画效果,具有内置的实时UI阴影,以及可在不同屏幕之间切换的hero元素。就好像微软的win8,win10一样,给人一种简约风。

好吧,又有点跑题了~,步入正题 了,我们都知道Material Design是基于5.0的,但是在5.0以前系统默认的Dialog真的是丑爆了。今天在github上看到一个MD风格的Dialog的三方库,跟大家分享一下,感觉使用起来还比较方便,效果还不错,与app风格进行兼容比较容易。

我用的IDE是android studio,下面我就简单介绍一下怎么使用。

首先,我们需要现对这个三方库依赖

dependencies {
    compile 'me.drakeet.materialdialog:library:1.3.1'
}
假如你是eclipse的话,只能自己想办法导入jar包了,( ▼-▼ )。

下面是我封装的一个工具类,大家可以在导入这个三方库成功后直接使用。

package com.personal.xiaoshuai.mddialog;

import android.content.Context;
import android.view.View;

import me.drakeet.materialdialog.MaterialDialog;


/**
 * Created by zhangs on 2016/4/24.
 */
public class DialogUtils {

    public static abstract class OnButtonClickListener{
        public abstract void onConfirmButtonClick();
        public void onCancelButtonClick(){

        }
    }

    /**
     * 只显示一个按钮调用这个方法
     * @param context
     * @param message
     * @param positiveText
     * @param onButtonClickListener
     */
    public static void showSingleButtonDialog(Context context, String message,String positiveText,OnButtonClickListener onButtonClickListener) {
        showCustomMessageDialog(context,message,null,positiveText,onButtonClickListener);
    }


    public static void showNormalDialog(Context context, String message, final OnButtonClickListener onButtonClickListener){
        showCustomMessageDialog(context,message,"取消","确定",onButtonClickListener);
    }

    public static void showCustomMessageDialog(Context context, String message,String negativeText,String positiveText, final OnButtonClickListener onButtonClickListener){
         showCustomMessageDialog(context,"提示",message,negativeText,positiveText,onButtonClickListener);
    }
    public static void showCustomMessageDialog(Context context, String title,String message,String negativeText,String positiveText, final OnButtonClickListener onButtonClickListener){
        final MaterialDialog mMaterialDialog = new MaterialDialog(context);
        mMaterialDialog.setTitle(title)
                .setMessage(message)
                .setPositiveButton(positiveText, new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        mMaterialDialog.dismiss();
                        onButtonClickListener.onConfirmButtonClick();
                    }
                })
                .setNegativeButton(negativeText, new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        mMaterialDialog.dismiss();
                        onButtonClickListener.onCancelButtonClick();
                    }
                });

        mMaterialDialog.show();
    }

}

使用的时候也特别简单:

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        DialogUtils.showNormalDialog(MainActivity.this, "爱生活,爱编程!", new DialogUtils.OnButtonClickListener() {
            @Override
            public void onConfirmButtonClick() {
             //确定按钮的操作
            }

            @Override
            public void onCancelButtonClick() {
                super.onCancelButtonClick();
              //取消按钮的操作
           }
        });
    }
});

下面是效果图:

下面是github网址,大家可以根据自己的实际需求进行修改:

https://github.com/drakeet/MaterialDialog


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值