SnackBar

snack:小吃,点心,快餐

 btOpenSnackBar = (Button) findViewById(R.id.bt_openSnackBar);
btOpenSnackBar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar.make(v, "确定开启我?", Snackbar.LENGTH_LONG).setAction("确定", new View.OnClickListener() {
@Override
public void onClick(View v) {
MyToast.showShort(TestActivity.this, "开启啦!");
}
}).show();
}

效果图:

如果不点击“确定”,2秒后是会自动消失的

FloatingActionButton

一个圆形Button,继承自Button,所以Button的属性它都可以用

Demo:

<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="20dp"
android:elevation="10dp"
android:onClick="click"
android:src="@drawable/backup"
app:borderWidth="5dp"
app:fabSize="mini"
app:pressedTranslationZ="20dp"
app:rippleColor="@android:color/white" />
<!-- android:backgroundTint="@android:color/black"-->
  1. app:backgroundTint:指定默认的背景颜色
  2. app:rippleColor:指定点击时的背景颜色
  3. app:borderWidth :border的宽度
  4. app:fabSize:FloatingActionButton的大小,可选normal|mini
  5. app:elevation :该空间的一个海拔的高度
  6. app:pressedTranslationZ:按下去时的z轴的便宜
  7. android:src:也就是里面的那个图案了

效果图:

CoordinatorLayout

coordinator:协调者

作用:顾名思义,也就是让它的子view更好的协作。

现在我们将上面的FloatingActionBar包裹到里面看看

<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"> <android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="10dp"
android:layout_margin="0dp"
android:onClick="click"
android:src="@drawable/backup"
app:borderWidth="5dp"
app:fabSize="mini"
android:layout_gravity="right|bottom"
app:pressedTranslationZ="20dp"
app:rippleColor="@android:color/white" />
<!-- android:backgroundTint="@android:color/black"-->
</android.support.design.widget.CoordinatorLayout>

效果图:

可见,当SnackBar显示的时候,FloatingActionBar自动往上移动了

SnackBar--FloatingActionButton--CoordinatorLayout的更多相关文章

  1. Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout

    如果是为了兼容低版本的Android系统,则需要引用Android Material Design的扩展支持库,我在之前的一篇文章张,较为详细的说明了如何导入Android Material Desi ...

  2. Flutter学习笔记(20)--FloatingActionButton、PopupMenuButton、SimpleDialog、AlertDialog、SnackBar

    如需转载,请注明出处:Flutter学习笔记(20)--FloatingActionButton.PopupMenuButton.SimpleDialog.AlertDialog.SnackBar F ...

  3. CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout使用

    本文介绍Design Support Library中CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout的使用. 先列出了Design S ...

  4. Android Design Support Library使用详解——Snackbar

    Google在2015 I/O大会上,给我们带来了更加详细的Material Design规范,同时也引入了Android Design Support Library,为我们提供了基于Materia ...

  5. 【Android - MD】之Snackbar的使用

    Snackbar 是 Android 5.0 新特性--Material Design 中的一个控件,用来代替 Toast ,Snackbar与Toast的主要区别是:Snackbar可以滑动退出,也 ...

  6. SnackbarUtils:一行代码搞定Snackbar

    此文章是我在简书的文章 http://www.jianshu.com/p/f4ba05d7bbda Snackbar在Android中的使用日益广泛,很大程度上替代了传统的Toast,相比Toast拥 ...

  7. Material Design学习-----SnackBar

    SnackBar是一个和Toast类似的空间,用于弹出提示作用,但是相比于Toast而已,SnackBar会有一个不错的动画效果,同时当手指完成屏幕中其他操作的时候,SnackBar会立即消失.同时可 ...

  8. 分享一个Snackbar工具类 SnackbarUtils;

    分享一个Snackbar工具类,源代码也是在Github上面找的,自己做了一下修改: 功能如下: 1:设置Snackbar显示时间长短                 1.1:Snackbar.LEN ...

  9. 【Android - 控件】之MD - Snackbar的使用

    Snackbar 是 Android 5.0 新特性——Material Design 中的一个控件,用来代替 Toast ,Snackbar与Toast的主要区别是:Snackbar可以滑动退出,也 ...

  10. Android Material风格的应用(四)--FloatActionButton

    添加 FloatActionButton和SnackBar Android Material风格的应用(一)--AppBar TabLayoutAndroid Material风格的应用(二)--Re ...

随机推荐

  1. Django网站实例效果

    Django是一种开源的大而且全的Web应用框架,是由python语言来编写的,优点十分明显: 功能完善.要素齐全:自带大量常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站. ...

  2. 【LeetCode】509. Fibonacci Number 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 日期 题目地址:https://leetc ...

  3. 【LeetCode】541. Reverse String II 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 日期 题目地址:ht ...

  4. 【LeetCode】540. Single Element in a Sorted Array 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 方法一:异或 方法二:判断相邻元素是否相等 方法三:二分查找 ...

  5. 【LeetCode】303. Range Sum Query - Immutable 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 保存累积和 日期 题目地址:https://leetcode. ...

  6. Anti-prime Sequences

    Anti-prime Sequences Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 3355   Accepted: 1 ...

  7. 洛谷 P1434 [SHOI2002]滑雪(DP,记忆化搜索)

    题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在一个区域中最长 ...

  8. git导出历史日志

    1.1.在项目根目录下执行命令,导出 git 提交记录到桌面 进入项目目录:然后右击选择git bash here     然后在git中执行命令:git log --pretty=format:&q ...

  9. MySQL 中的共享表空间与独立表空间

    对于 InnoDB 存储引擎来说,它可以将每张表存放于独立的表空间,即tablename.ibd 文件:也可以将数据存放于 ibdata 的共享表空间,一般命名是 ibdataX,后面的 X 是一个具 ...

  10. Java基础(八)——IO流2_缓冲流、转换流

    一.缓冲流 1.介绍 缓冲流:不能直接作用在文件上,需要包一层,它是一种处理流.用于提高文件的读写效率.它在流的基础上对流的功能进行了增强.提高读写速度的原因:内部提供了一个缓冲区.缺省使用 8192 ...