自定义 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
自定义 Material Design风格的提示框的更多相关文章
- [原创]自定义view之:快速开发一款Material Design风格的dialog的开源项目MDDialog
随着google开始主导Material Design风格的设计,越来越多的app开始使用Material Design风格来设计自己的UI.虽然在Android Studio中集成了多种快速开发框架 ...
- Material Design风格登录注册
本文实现了以下功能 完整的代码和样例托管在Github 当接口锁定时,防止后退按钮显示在登录Activity 上. 自定义 ProgressDialog来显示加载的状态. 符合材料设计规范. 悬浮标签 ...
- Android 代码库(自定义一套 Dialog通用提示框 )
做Android开发五年了,期间做做停停(去做后台开发,服务器管理),当回来做Android的时候,发现很生疏,好些控件以前写得很顺手,现在好像忘记些什么了,总要打开这个项目,打开那个项目 ...
- Android实现Material Design风格的设置页面(滑动开关控件)
前言 本文链接 http://blog.csdn.net/never_cxb/article/details/50763271 转载请注明出处 參考了这篇文章 Material Design 风格的设 ...
- Material Design风格的水波涟漪效果(Ripple Effect)的实现
Material Design是Google在2014年Google I/O大会上推出的一套全新的设计语言,经过接近两年的发展,可谓是以燎原之势影响着整个设计交互生态,和Material Design ...
- 基于React Native的Material Design风格的组件库 MRN
基于React Native的Material Design风格的组件库.(为了平台统一体验,目前只打算支持安卓) 官方网站 http://mrn.js.org/ Github https://git ...
- 基于jQuery和CSS3超酷Material Design风格滑动菜单导航特效
分享一款效果非常炫酷的谷歌 Material Design 风格jQuery和CSS3滑动选项卡特效.该选项卡特效集合了扁平风格设计和按钮点击波特效.是一款设计的非常不错的Material Desig ...
- 开发Google Material Design风格的WPF程序
今天在网上看到了一个Material Design风格的WPF皮肤,看上去还是挺不错的 这个项目是开源的,感兴趣的朋友可以下载试下: https://github.com/ButchersBoy/Ma ...
- Android开发实战之拥有Material Design风格的侧滑布局
在实现开发要求中,有需要会使用抽屉式布局,类似于QQ5.0的侧滑菜单,实现的方式有很多种,可以自定义控件,也可以使用第三方开源库. 同样的谷歌也推出了自己的侧滑组件——DrawLayout,使用方式也 ...
随机推荐
- c语言的continue
continue 是跳过此次循环的剩下部分,直接进入下个循环.
- [分享] IT天空的二十二条军规
Una 发表于 2014-9-19 20:25:06 https://www.itsk.com/thread-335975-1-1.html IT天空的二十二条军规 第一条.你不是什么都会,也不是什么 ...
- python3 实现简单的信用卡还款,取款转账功能V2
仅实现还款,取款,转账,信息查询功能 程序结构: atm(函数主执行程序): #Author by Andy #_*_ coding:utf-8 _*_ import os,sys Father_pa ...
- ES6(一)ECMAscript6介绍
nvm-windows Node.js是JavaScript语言的服务器运行环境,对ES6的支持度比浏览器更高.通过Node,可以体验更多ES6的特性.建议使用版本管理工具nvm,来安装Node,因为 ...
- 简单谈一谈JavaScript中的变量提升的问题
1,随笔由来 第一天开通博客,用于监督自己学习以及分享一点点浅见,不出意外的话,应该是一周一更或者一周两更. 此博客所写内容主要为前端工作中遇上的一些问题以及常见问题,在此基础上略微发表自己的一点浅 ...
- 常用的WEB服务
1.股票行情数据 Web Service(支持香港.深圳.上海基金.债券和股票:支持多股票同时查询) http://www.webxml.com.cn/WebServices/StockInfoWS ...
- 怎么让我们自己开发的Android程序设为默认启动
怎么让我们自己开发的Android程序设为默认启动呢?其实很简单,只要在AndroidManifest.xml文件中配置一下首次启动的那个Activity即要. <activity ...
- git代码冲突解决
1.git fetch 跟git pull差别是前者不会和本地直接merge code,而后者会,所以git fetch更安全 git fetch origin master:tmpgit dif ...
- Linux mount的使用
大家在使用Linux系统的时候,肯定用过一些共享文件的东西,比如FTP,Mount 等等,接下来我重点说一下Mount的用法: 现在有一台测试环境上面需要部署Mount服务器(10.10.10.27) ...
- 雅美尓(yaml)实战
献给跟我一样对yaml(雅美尓)有婶婶挫败感的同学! 开始第一个pylon工程,我们就跟yaml配置文件开始了不解之缘.yaml是什么?它有哪些规则? 大IBM的文章如是说:YAML 是一种比 XML ...