[Android Design Lib]Snackbar学习

原创 2016年08月30日 20:43:46

参考文章:http://www.open-open.com/lib/view/open1433496206666.html

Snackbar是Toast的升级版,与Toast相比,它额外提供了show和dismiss的判断方法和回调接口。另外,它还提供了增加Button点击的机会,为我们省去了一些需要自定义view才能实现的类似Toast展示效果的提示浮层的工作。

1.首先,引入Android Design Support Library,Android Studio中通过配置依赖来引入:

//build.gradle中的dependencies中增加:
compile 'com.android.support:design:23.4.0'
2.Snackbar的展示效果如图:


它的位置固定,固定出现在屏幕的底部。左侧文案+右侧Action;右侧Action没有时,文案也依然显示在左侧不变。

3.代码调用如下:

                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {

                            }
                        })
                        .setCallback(new Snackbar.Callback() {
                            @Override
                            public void onDismissed(Snackbar snackbar, int event) {
                                super.onDismissed(snackbar, event);
                                Log.e("chwn","Snackbar dismiss");
                            }

                            @Override
                            public void onShown(Snackbar snackbar) {
                                super.onShown(snackbar);
                                Log.e("chwn","Snackbar show");
                            }
                        })
                        .show();

4.另外,它的Api接口如下:

从中可以看出,除了可以想Toast一样定制文本的内容外,还可以定制Action的文本及文字颜色。

详见:https://developer.android.com/reference/android/support/design/widget/Snackbar.html

Public methods

void dismiss()

Dismiss the Snackbar.

int getDuration()

Return the duration.

View getView()

Returns the Snackbar's view.

boolean isShown()

Return whether this Snackbar is currently being shown.

boolean isShownOrQueued()

Returns whether this Snackbar is currently being shown, or is queued to be shown next.

staticSnackbar make(View view, CharSequence text, int duration)

Make a Snackbar to display a message

Snackbar will try and find a parent view to hold Snackbar's view from the value given to view.

staticSnackbar make(View view, int resId, int duration)

Make a Snackbar to display a message.

Snackbar setAction(int resId, View.OnClickListener listener)

Set the action to be displayed in this Snackbar.

Snackbar setAction(CharSequence text, View.OnClickListener listener)

Set the action to be displayed in this Snackbar.

Snackbar setActionTextColor(ColorStateList colors)

Sets the text color of the action specified in setAction(CharSequence, View.OnClickListener).

Snackbar setActionTextColor(int color)

Sets the text color of the action specified in setAction(CharSequence, View.OnClickListener).

Snackbar setCallback(Snackbar.Callback callback)

Set a callback to be called when this the visibility of this Snackbar changes.

Snackbar setDuration(int duration)

Set how long to show the view for.

Snackbar setText(int resId)

Update the text in this Snackbar.

Snackbar setText(CharSequence message)

Update the text in this Snackbar.

void show()

Show the Snackbar.


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android Support Design 库 之 Snackbar使用及源码分析

在谷歌提出 material design 之后,终于推出了 android.support.design 这个官方的material design库,这几天我也简单浏览了下这个库,基本上我们常用的组...
  • qq_29924027
  • qq_29924027
  • 2016年02月04日 16:31
  • 1057

Android Design Support Library使用详解——Snackbar

Google在2015 I/O大会上,给我们带来了更加详细的Material Design规范,同时也引入了Android Design Support Library,为我们提供了基于Materia...
  • maosidiaoxian
  • maosidiaoxian
  • 2016年08月03日 09:27
  • 3263

Android Design Support Library--简约而不简单的SnackBar

引言在之前我有提到这一篇Android Design Support Library系列文章是关于SnackBar的,但是由于要用到CoordinatorLayout所以先翻译了一篇相关文章,如果还不...
  • Wei_Smile
  • Wei_Smile
  • 2016年05月07日 13:13
  • 2920

android material design之Snackbar(二)

先说一下比较轻量级的控件,原来的话用来做提示信息的一般是toast,而且他可以在所有的view的顶层显示,包括键盘,不依赖window,而且无焦点位置可自定义,那么来说一下新的snackbar,这个控...
  • qq_23195583
  • qq_23195583
  • 2016年06月15日 11:18
  • 356

Snackbar的使用,设置背景颜色,字体属性等

Snackbar类似于Toast,不同之处在于Snackbar显示于底部,覆盖式显示。 其优点如下: 1. 配合CoordinatorLayout使用,SnackBar可以被Swipe手势划走; ...
  • IT_faquir
  • IT_faquir
  • 2016年11月24日 17:41
  • 2475

android.support.design.widget.Snackbar 使用

Snackbar今年谷歌大会的一个能够代替Toast 的效果;下面说说需要注意事项 1.首先手动加 dependencies{  compile 'com.android.suppor:desi...
  • u012629497
  • u012629497
  • 2015年11月17日 22:29
  • 1870

Android SnackBar 使用的问题: Error inflating class android.support.design.widget.Snackbar$SnackbarLayout

不知道大家刚开始用snackbar的时候是否遇到问题,我最开始写的时候就是在普通的activity中写了snackbar,结果就报了下面这个错误: Error inflating class andr...
  • tongnuxie
  • tongnuxie
  • 2015年08月24日 17:30
  • 1591

Material Design学习之 Snackbars(详细分析,Toast的加强版)

Material Design Snackers实现分析,源码已上Git 实现简单易理解,很好的源码。 每一段实现都已解释,很好理解,欢迎提意见。...
  • ddwhan0123
  • ddwhan0123
  • 2016年01月22日 11:20
  • 6000

MaterialDesign之Snackbar学习笔记

近期实在太忙了,看到好的文章先转载,后续自己慢慢消化吧!  转载 http://www.jianshu.com/p/cd1e80e64311#rd 没时间解释了,快使用Snac...
  • snow_Lu
  • snow_Lu
  • 2016年05月12日 16:24
  • 2207

Android中Snackbar的介绍以及使用

Android中Snackbar的介绍以及使用介绍 Snackbar可以说是Toast的升级版,不仅有显示信息的功能,还可以添加一个Action,实现点击功能,可以右滑删除。 效果图Snackba...
  • q4878802
  • q4878802
  • 2015年11月09日 11:32
  • 8060
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Android Design Lib]Snackbar学习
举报原因:
原因补充:

(最多只允许输入30个字)