安卓Snackbar学习

距离上次发誓每天写文章已经过去4天了。生活教育我们犯了错要赶紧站起来。

新版安卓app增加了一个需求,大致流程是这样:用户退出游戏后,提示用户可以把刚玩过的游戏下载到手机上(原游戏是在电视上运行的),用户可以选择下载或取消。

传统的方式是用对话框来实现这个功能,但是我印象里看到人分享过,安卓新增了一个控件,是在屏幕下方出现一个栏,还可以带选项。

我想用这个的原因是占地方小,并且没那么影响视线。这个需求本身就是反用户的平台需求,不想进一步造成打扰。

但是我没仔细查,印象里系统有这个功能就做了这样的交互(非常坏非常坏的毛病),一个未经技术验证的底部对话框,以为能用安卓自身控件实现。

但实际上不是这样的,这个东西叫做snackbar,官方文档和toast一起介绍的,简述是这样:

“Snackbars provide brief feedback about an operation through a message at the bottom of the screen.”

特征:单段文字,可以有一个文字动作,不能有图标。同时最多存在一个,且会自动消失。动作不能是取消,如果用取消要使用对话框实现。

另外,Snackbar是从安卓6.0开始出现的。

虽说官方直到6.0才系统支持这种交互,但一种交互的出现与应用,和它是否被官方引入是无关的。当有需要时,新的交互就会出现。

前面大概看明白了特征, 那什么时候会需要Snackbar这样的交互方式呢?我觉得要明确SB(自己发明的缩写)首先是一种提示,因为1.它不会阻碍屏幕其他区域交互,2.它会自动消失。一般当系统做出一个不易被察觉但会影响用户的动作后,需要告知用户它干了这事。例如:

数据列表刷新了(列表还是那样,但里边数据不一样了)

加入购物车了(购物车里多了东西,但你不知道。不过现在肯定都是有一个飞过去的视觉效果)

密码修改成功(在后台你看不见)

群里有人发红包了!(你不告诉我我绝对不知道)

……

这些地方都可能用到提示。但带动作的SB的区别在于,1.在屏幕下边,2.带一个动作。屏幕下边好理解,有些提示就是喜欢低调不装逼(一直觉得底部的提示非常酷,我在Sniper这个游戏里体会最多,所有的提示都是下方或右下角一个小标,像某种臂章一样)


动作可以应用在哪里?你还想有下一步动作的时候。还举上面几个例子:

数据列表刷新了(不想刷了,undo,也是官方示范最多的)

加入购物车了(那就去看看吧)

密码修改成功(不改了你给我改回来,undo undo

群里有人发红包了!(立刻“開”!(笑,怎么可能

我觉得以上几个场景,假如就这样设计的话,就合适用Snackbar,不然就必须用dialog了。


这是第一次好好学习交互控件并且还写下来,觉得写了不少废话。太晚了,今天Snackbar先看到这。

你可能感兴趣的:(安卓Snackbar学习)