Snackbar的简单使用

来源:互联网 发布:mac终端重设密码 编辑:程序博客网 时间:2024/06/07 19:18

Snackbar 是 Android design support library 中的另一个组件,就是屏幕底部快速的显示一条消息,大体与 Toast 相同,但是很灵活。使用的话需要先导入design库:

compile 'com.android.support:design:26.0.0-alpha1'

用法很简单:

Snackbar.make(view,String,time).show();

第一个参数是一个 view,snackbar 会找到一个父 view,以寄存所赋的 snackbar 值。Snackbar 会沿着 view 的树状路径,找到第一个合适的布局或窗口视图,作为父 view。所有这里随便赋予什么view都可以,但是最好是相对外层的view。
第二个参数就是字符串,就是需要提示的信息文本。
第三参数是时长,这里有三种:Snackbar.LENGTH_SHORT,Snackbar.LENGTH_LONG,Snackbar.LENGTH_INDEFINITE。前面两种和Toast一样,最后这一种是一直显示直到你手动取消显示。
一般都还会需要设置一个点击事件:

//"文字"会显示在整个Snackbar的右侧.setAction("文字", new View.OnClickListener() {                            @Override                            public void onClick(View v) {                                //点击之后的操作,在点击之后Snackbar会自动消失                            }                        })

当然免不了有些坑是需要自己动手才能发现的,如果Snackbar所在的Activty不是继承AppCompatActivity就会报错

Binary XML file line #41: Binary XML file line #41: Error inflating class <unknown>

这个时候你只需要将Snackbar所在的Activity继承自AppCompatActivity就好了,并且需要manifest文件中设置该Activty的主题为

android:theme="@style/Theme.AppCompat"         //有标题栏android:theme="@style/Theme.AppCompat.NoActionBar"   //无标题栏