Snackbar的使用

2017-11-22  本文已影响49人  卡咔喀

参考

Snackbars 与 Toasts
放弃Toast吧,用Snackbar
Snackbar样式
Snackbar源码分析

介绍

image

Snackbar 是一种针对操作的轻量级反馈机制,常以一个小的弹出框的形式,出现在手机屏幕下方或者桌面左下方。它们出现在屏幕所有层的最上方,包括浮动操作按钮。

它们会在超时或者用户在屏幕其他地方触摸之后自动消失。Snackbar 可以在屏幕上滑动关闭。当它们出现时,不会阻碍用户在屏幕上的输入,并且也不支持输入。屏幕上同时最多只能现实一个 Snackbar。

方法

创建

make(view,text,duration)

设置操作按钮

setAction(text, listener)

显示

show()

Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null)
                        .show();

设置样式

设置背景色

背景色是通过getView方法获取Snackbar的核心视图,然后就可以在对它设置任意背景色了。

Snackbar snackbar = Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null);
snackbar.getView().setBackgroundColor(red);
snackbar.show();

设置字体颜色

前面我们已经知道设置背景色的方法,字体颜色也是大同小异获取Snackbar的核心视图后我们知道SnackBar两个TextView的id分别是snackbar_textsnackbar_action,只需要对这两个TextView设置颜色即可。

Snackbar snackbar = Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null);
((TextView)snackbar.getView().findViewById(R.id.snackbar_text)).setTextColor(red);
snackbar.show();

注意

只有CoordinatorLayout + FloatingActionButton 显示Snackbar的时候FloatingActionButton位置会往上移,且需要CoordinatorLayout是FloatingActionButton和Snackbar共同的父View。

上一篇 下一篇

猜你喜欢

热点阅读