android开发之SnackBar的使用

来源:互联网 发布:mac iphone传照片 编辑:程序博客网 时间:2024/06/07 08:57

SnackBar是一个类似于Toast的东西,它也有显示时长,但是比Toast更加灵活,同时,我们还可以给SnackBar设置点击事件,那么我们今天就来看看怎么用吧!

先来一张效果图:


这种效果大家可能在一些App中已经见过,在没有SnackBar的时候,我们可能需要自定义View来实现这种效果,现在我们只需要简单几行代码就可以实现这种效果了,下来我们看看怎么实现这样的效果。

1.点击后弹出不带action的snackbar

snackbar = Snackbar.make(view, "Snack Bar Text", Snackbar.LENGTH_INDEFINITE);                snackbar.show();

view是我们点击的那个View,下来的文本就是弹出框显示的文本,最后一个参数表示Snackbar的显示时长,有多种取值,如下:

    /**     * Show the Snackbar indefinitely. This means that the Snackbar will be displayed from the time     * that is {@link #show() shown} until either it is dismissed, or another Snackbar is shown.     *     * @see #setDuration     */    public static final int LENGTH_INDEFINITE = -2;    /**     * Show the Snackbar for a short period of time.     *     * @see #setDuration     */    public static final int LENGTH_SHORT = -1;    /**     * Show the Snackbar for a long period of time.     *     * @see #setDuration     */    public static final int LENGTH_LONG = 0;
这里三种值,分别是长期展示,这种情况下要我们调用dismiss方法来关闭snackbar,或者有其他snackbar显示的时候,它也会自动关闭,第二种和第三种意义和Toast差不多,不赘述。

关闭一个Snackbar,我们只需要调用dismiss方法即可:

snackbar.dismiss();

2.带Action的SnackBar

                Snackbar.make(view, "Snack Bar Text", Snackbar.LENGTH_LONG)                        .setAction("Go!", new View.OnClickListener() {                            @Override                            public void onClick(View v) {                                Intent intent = new Intent(MainActivity.this, Main2Activity.class);                                startActivity(intent);                            }                        })                        .setActionTextColor(Color.BLUE).show();

也可以给SnackBar设置点击事件,如上,代码很简单,不多说。

Demo下载http://download.csdn.net/detail/u012702547/9351795


3 0
原创粉丝点击