一、Snackbar是什么鬼
Snackbar是属于design包下的,功能类似于Toast的一种轻量级反馈消息,Snackbar是从底部弹出消息的。
二、Snackbar长什么样的
这就是Snackbar,很简单,左边一个TextView,右边一个Button。
三、Snackbar的基本使用。
(一)最简单的用法
使用前先导入design包,
android studio:compile 'com.android.support:design:25.0.1'。
eclipse:导入sdk\extras\android\support\design这个library,在主项目中引用它,如果没有就打开SDK Manager,找到extras,下载最新的Android Support Library。
Snackbar的用法和Toast很像,有个make()的静态方法,就类似Toast的makeText()那样使用。
public static Snackbar make(@NonNull View view, @NonNull CharSequence text, @Duration int duration)
public static Snackbar make(@NonNull View view, @StringRes int resId, @Duration int duration)
参数一:view就是通过这个view找到合适Snackbar的父容器,
参数二:text和resId就是要显示的内容,
参数三:duration就是显示的时间,多久之后消失,有LENGTH_SHORT(1500毫秒
)、
LENGTH_LONG(2750毫秒)、
LENGTH_INDEFINITE(无限期显示)
。
Snackbar有个show()方法就是显示出Snackbar的,像Toast也有。
使用的时候可以这样,
Button _ShowSnackBar = (Button) findViewById(R.id.show_snackbar);
_ShowSnackBar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "我就是Snackbar!", Snackbar.LENGTH_LONG).show();
}
});
Snackbar的右边有个Button,可以在Snackbar弹出来的时候按下做一些Action,通过setAction()方法设置。
Snackbar setAction(CharSequence text, final View.OnClickListener listener)
参数一:text和resId就是Button的text,Snackbar setAction(@StringRes int resId, View.OnClickListener listener)
参数二:listener就是Button的点击事件,点击Button后Snackbar会消失,即使设置了LENGTH_INDEFINITE。
Button _ShowSnackBar = (Button) findViewById(R.id.show_snackbar);
_ShowSnackBar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "我就是Snackbar!", Snackbar.L