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