Android开发过程中,经常用的是Toast来提示信息,不过也有用到Snackbar的,相比于Toast,提示的更加优雅,最近就遇到了问题,怎么更改文字颜色,后面才发现理解错了,在这里分享下。
使用Snackbar很简单,比如你可以用以下的代码:
Snackbar.make(view,"Hello Snackbar",Snackbar.LENGTH_LONG).show();
就会展示以下效果:
我们添加一个有点击按钮的Snackbar,代码如下:
Snackbar snackbar = Snackbar.make(view,"Hello Snackbar",Snackbar.LENGTH_LONG); //设置按钮,名字为click snackbar.setAction("click", new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(getBaseContext(),"action clicked",Toast.LENGTH_SHORT).show(); } });
展示效果如下:
接下来是重点,看怎么设置颜色。
第一:设置点击文字【click】的颜色,代码如下:
//这里的颜色可以是预置的,也可以是colors.xml里的 snackbar.setActionTextColor(Color.RED);
第二:设置提示信息【Hello Snackbar】的颜色,代码如下:
//获取文字控件 TextView snackbartxt = (TextView) mView.findViewById(android.support.design.R.id.snackbar_text); //设置颜色 snackbartxt.setTextColor(Color.RED); //当然也可以更改其他属性 //snackbartxt.setTextSize(30);
第三:设置背景色,默认是黑色的,也可以改为其他颜色,代码如下:
//获取显示的view View mView = snackbar.getView(); //然后再更新背景 mView.setBackgroundColor(Color.BLUE);
有什么问题欢迎指教。