Snackbar:用它来替换Toast 显示短提示
1.简介
Snackbar 它是Toast的子类。主要用来提示短暂的提示信息后,然后它自动消失。
它寄生在普通view上,具有一些基本功能。
它寄生在 CoordinatorLayout 时,有以下两个特性:
a.可以通过swipe手势关闭它。
b.当它显示时,layout自动移动其它view,以提供足够空间显示Snackbar.
implementation 'com.google.android.material:material:1.1.0-alpha09'
2.如何显示Snackbar
2.1 使用 Use a CoordinatorLayout
snackbar会在指定的view继承层次中向上找 到最近的CoordinatorLayout或者有content view的窗口。
如果想在某个layout内显示snackbar,需要把它放入CoordinatorLayout中,它是FrameLayout子类。FrameLayout可以直接用它替换,其它layout要把它放入CoordinatorLayout中,如下:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/myCoordinatorLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"> <!-- Here are the existing layout elements, now wrapped in
a CoordinatorLayout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <!-- …Toolbar, other layouts, other elements… --> </LinearLayout> </android.support.design.widget.CoordinatorLayout>
下面就是区别:注意图中下面黑色的区域。

2.2 创建Snackbar
Snackbar mySnackbar = Snackbar.make(viewId, stringId, duration);
2.3 显示Snackbar
注意,系统中同时只能显示一个snackbar
mySnackbar.show();
3.给Snackbar添加一个action
代码如下:
Snackbar mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout),
R.string.email_archived, Snackbar.LENGTH_SHORT);
mySnackbar.setAction(R.string.undo_string, new MyUndoListener());
mySnackbar.show();
public class MyUndoListener implements View.OnClickListener{
&Override
public void onClick(View v) {
// Code to undo the user's last action
}
}
Snackbar:用它来替换Toast 显示短提示的更多相关文章
- Android学习笔记通过Toast显示消息提示框
显示消息提示框的步骤 这个很简单我就直接上代码了: Button show = (Button)findViewById(R.id.show); show.setOnClickListener(new ...
- 延长Toast显示时间
---恢复内容开始--- 由于Toast的显示时间只有两种: Toast.LENGTH_SHORT: 2秒 Toast.LENGTH_LONG: 3.5秒 而且是写死的,没给开发者自定义时间的权利,所 ...
- android 自定义Toast显示风格
1.创建一个自己想要显示Toast风格的XML如下代码(toast_xml.xml): <?xml version="1.0" encoding="utf-8&qu ...
- 设置Toast显示位置
设置Toast显示位置 两个方法可以设置显示位置: 方法一:setGravity(int gravity, int xOffset, int yOffset)三个参数分别表示(起点位置,水平向右位移, ...
- Android:剖析源码,随心所欲控制Toast显示
前言 Toast相信大家都不会陌生吧,如果对于Toast不甚了解,可以参考我的上一篇博客<Android:谈一谈安卓应用中的Toast情节>,里面有关于Toast基础比较详细的介绍.但是如 ...
- Ubuntu 14 下,命令行终端显示短路径
Ubuntu的终端命令行默认是长路径,即把路径深度全部显示出来,操作起来不是很方便,下面介绍命令行显示短路径的操作: $ vi ~/.bashrc 找到PS1= 的行,将\w(小写)改成\W(大写 ...
- 怎样ubuntu下命令行终端显示短路径
参考:http://blog.sina.com.cn/s/blog_b71132f001016cmm.html ubuntu的终端命令行默认是长路径,即把路径深度全部显示出来,操作起来不是很方便,下面 ...
- RadioButton之互斥选择和Toast显示
前言: RadioButton用来单选并且用Toast来进行提示所选内容 RadioButton标签单独写的时候不能出现互斥现象,代码如下 <RadioButton android:layout ...
- Android:Toast简单消息提示框
Toast是简单的消息提示框,一定时间后自动消失,没有焦点. 1.简单文本提示的方法: Toast.makeText(this, "默认的toast", Toast.LENGTH_ ...
随机推荐
- 【NOIP2017练习】跳跃切除子序列(模拟)
题意: 思路: 已放弃 #include <bits/stdc++.h> typedef long long LL; int main(){ int T; scanf("%d&q ...
- Thinkphp5.0 的使用模型Model的获取器与修改器
Thinkphp5.0 的使用模型Model的获取器.修改器.软删除 一.获取器 在model中使用 get+字段名+Attr,可以修改字段的返回值. 数据库中性别保存为,0未知.1男.2女,查询时返 ...
- Rikka with Phi 线段树
Chosen Problem Solving and Program design as an optional course, you are required to solve all kinds ...
- mac idea快捷键(部分常用)
shift+F6重命名 shift+enter 换到下一行 shift+F8等同eclipse的f8跳到下一个断点,也等同eclipse的F7跳出函数 F8等同eclipse的f6跳到下一步F7等同e ...
- Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
在操作hibernate数据库时,调用saveOrUpdate方法进行更新保存对象时, (1)ID为null时执行SAVE,但是前端jsp通过<input type="hidden&q ...
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
Oracle 远程访问配置 服务端配置 如果不想自己写,可以通过 Net Manager 来配置. 以下配置文件中的 localhost 改为 ip 地址,否则,远程不能访问. 1.网络监听配置 ...
- Linux下Gcc 的编译过程
在linux下开发难免会用到gcc编译.GCC(GNU Compiler Collection.GNU编译器套装),是由 GNU 开发的编程语言编译器.它是GNU编译器套装以GPL许可证所发行的自由软 ...
- JSP学习笔记七之Cookie
首先提一下http协议的无状态性.指的是server不会记住已经给它发过请求的client. 每次收到请求都会觉得是一个新的client发过来的. (即:server不会记住给他发过请求的client ...
- exception log
except Exception as e: l = [str(i) for i in [dbid, f_mp3, e]] log_s = '||'.join(l) logging.exception ...
- firstChild.nodeValue
var ia=document.getElementsByTagName("em");var t=600; for(var ii=0;ii<t;ii++){var it=ia ...