android Snackbar
2018-06-20 本文已影响22人
石头_起航
项目里好久不用这个东东了,抓紧写个文章记录一下,其实使用挺简单的
首先第一步是导包 导入design包,因为这个东西在这个包里面,
下面就是使用了下面一个简单的例子:
public void click(View view) {
Snackbar.make(view, "这是", Snackbar.LENGTH_LONG).setAction("点击", new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("=====>>>>", "点击了啊");
}
}).setDuration(3000).show();
}

里面的文字现在明白了吧,点击后面就是点击事件的监听,然后setDuration这个是设置显示多久毫秒单位,然后show就是显示不写这个代码是不会显示的,下面是一些常用方法
SnackBar的常用方法:
// 用于给SnackBar设定一个Action,点击之后会回调OnclickListener中的Onclick方法
public Snackbar setAction(CharSequence text, final View.OnClickListener listener)
// 用于设定Action的字体颜色
public Snackbar setActionTextColor(@ColorInt int color)
// 设定提示的字体
public Snackbar setText(@NonNull CharSequence message)
// 展示SnackBar
public void show()
// 清除SnackBar
public void dismiss()
// 设置回调,比如OnDismissed或者OnShown
public Snackbar setCallback(Callback callback)
public static void setSnackbarColor(Snackbar snackbar, int messageColor, int backgroundColor) {
View view = snackbar.getView();//获取Snackbar的view
if (view != null) {
view.setBackgroundColor(backgroundColor);//修改view的背景色
((TextView) view.findViewById(R.id.snackbar_text)).setTextColor(messageColor);//获取Snackbar的message控件,修改字体颜色
}
}//修改snackbar背景颜色 以及title字体颜色
使用修改颜色的代码记得放在 .show;后面