一、如何为Snackbar添加背景颜色
你可以通过getView() 方法获取Snackbar的核心视图,然后就可以在对它采用任意颜色了。
比如:
snackbar.getView().setBackgroundColor(colorId);
二、如何给SnackBar设置action
Snackbar snackbar=Snackbar.make(floatingActionButton,"确定是否注册?",Snackbar.LENGTH_LONG); snackbar.setAction("Yes", new View.OnClickListener() { @Override public void onClick(View view) { } }); snackbar.getView().setBackgroundColor(Color.parseColor("#66ccff")); snackbar.setActionTextColor(Color.parseColor("#FF4081")); snackbar.show();
三、如何给SnackBar设置图标
/*
下面的
5
行是给
snackbar
设置左边的图标
1.
得到
snackbar
的
view
;
2.
snackbar
安卓系统有两个
textview
(
ID
是
snackbar_text
),第一个
view
用于显示内容
第二个内容用于显示
action
的标题
(ID
是
snackbar_action)
;
此处是选择了左边显示图标,所以用第一个
textview
3.
得到自己想要添加的图片对象
4.
设置其上下左右的间距
5
、将图标添加进
textview
中,并显示
snacker
*/
View view=snackbar.getView(); TextView textView=(TextView)view.findViewById(R.id.snackbar_text);// Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);//图片可以自己选择 drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight()); textView.setCompoundDrawables(drawable,null,null,null);
四、注意:当同时有SnackBar和FAB的时候,Snackbar的第一个依靠父控件是fab
public static void displaySnackUnderFAB(FloatingActionButton floatingActionButton, String data) { Snackbar snackbar = Snackbar.make(floatingActionButton, data, Snackbar.LENGTH_LONG); snackbar.getView().setBackgroundColor(Color.parseColor("#66ccff")); snackbar.setActionTextColor(Color.parseColor("#FF4081")); snackbar.show(); }