咱们来看看谷歌Design包里的SnackBar


前言

忙忙忙,每到周五都想到写一篇博客,每次都是心有余而力不足啊,上周末自己的一个小项目也开始动工, 然后基本打算就是全部用5.0/6.0新特性,尽量用Google原生的控件,所以又没有什么时间,今天也就速战速决,给大家讲一讲Android Support Design Library库的控件吧,空间有点多,今天就稍微看下SnackBar

简介

请先把Android Support Design Library升级到最新,然后在app.gradle文件中加上
compile ‘com.android.support:design:23.2.0’

Snackbar:
1.简单理解,就是Toast的升级版,相比Toast多了一个Action
2.配合CoordinatorLayout还支持手势滑出

先看看具体是个什么东西哈~
这里写图片描述
来,怎么用呢,其实用法真的和Toast太像了,看代码:

/**
* 显示一个有Action的Toast
* */

public Snackbar showSnackbar(View view ,String text , final OnSnackbarCallBack mSnaSnackbarCallBack){
if(view == null){
return null;
}
Snackbar mSnackbar = Snackbar.make(view,text,Snackbar.LENGTH_LONG)
.setActionTextColor(getResources().getColor(R.color.white1));
if(null != mSnaSnackbarCallBack){
mSnackbar.setAction("确定", new View.OnClickListener() {
@Override
public void onClick(View v) {
mSnaSnackbarCallBack.callBack();
}
});
}
mSnackbar.show();
mSnackbar.getView().setBackgroundColor(getResources().getColor(R.color.theme));
return mSnackbar;
}

这是我已经打包到Base类中的一个方法,用法就不说了,大家一眼就能看懂,我们来说下要注意的地方
1. make()方法的第一个参数的view,是不能有一个ScrollView.因为SnackBar的实现逻辑是往这个View去addView.而ScrollView我们知道,是只能有一个Child的.否则会Exception.所以注意。
2. 如果大家想把Toast换成Snackbar,大家要注意键盘的隐藏,以往的Toast是悬浮在上面的,而Snackbar是直接加入进去的哦
3. 我的这个用法的话主要是集成在BaseActivity,后期的Activity可以直接调用showSnackbar();

showSnackbar(home_content, "欢迎来到比比通!", null);

如果还要添加动作的话,那就这样:

showSnackbar(home_content, "欢迎来到比比通!", new OnSnackbarCallBack() {
@Override
public void callBack() {
//需要处理的逻辑
}
});

总结

Snackbar的确是一个非常简单的东西,相比Toast可能更多的是一些新奇吧,现在越来越多公司都用Google原生的控件了,也不再是以前的花花世界,个人感觉还是蛮喜欢的,一款App如果全部都用的是新特性那感觉肯定是不一样的。~代码就不贴了,这是我个人项目中拿的一点段。。。没时间写,就给大家分享一下。

end:周末愉快~

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告