zoukankan      html  css  js  c++  java
  • android开发之SnackBar的使用

    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设置点击事件,如上。代码非常easy。不多说。

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


  • 相关阅读:
    java内存回收机制
    scala学习
    [java实现]找一个数组的最大和的连续子数组(时间复杂度 O(n))
    linux 进程的创建
    linux中的进程和线程
    linux 文件系统
    gdb 调试程序
    makefile
    linux下的gcc编译器
    socket 网络编程
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6913880.html
Copyright © 2011-2022 走看看