我们在google keep中删除记事块儿时,下面会弹出一个小条儿,问你是否撤消,一段时间后自动隐去,同时右划也可以使它隐去。最初我以为这个小条儿是做的一个自定义控件,后来无意中发现不用这么麻烦。Google在Android中做好了一个控件SnackBar可以简单地完成这个功能。要想支持Swipe手势的话,这个view需要是一个CoordinatorLayout(在Android Support Library里面的控件)
使用方法:
@Override public void onClick(View view) { Snackbar.make(view , "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", new View.OnClickListener() { @Override public void onClick(View v) { // here is your code } }).show(); }
使用起来是比较简单的。只需要输入想让它出现的ViewGroup,出现的提示,并可以设置一个点击事件。
其中有一些值得注意的东西:
1.SnackBar的实现方式其实是addView,因此,它的父控件不能是ScrollView这样只允许有一个子控件的控件。
2.SnackBar.show()的时候,要注意先把Keyboard.hide()了。不然,键盘就会遮住SnackBar。
3.字如果想换颜色要使用SpannableString。
Done