Snackbar的简单使用

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"   //无标题栏

猜你喜欢

转载自blog.csdn.net/liuxiaopang520/article/details/78320579