我们在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

posted on 2016-01-25 20:41  Fishbonell  阅读(1517)  评论(0编辑  收藏  举报