前言

本篇将介绍 CollapsingToolbarLayout 的一些功能和属性,使用其实现可折叠的 toolbar 效果。

效果图

代码实现

CollapsingToolbarLayout 是对Toolbar的包装并且实现了折叠app bar效果,使用时,要作为 AppbarLayout 的直接子View。CollapsingToolbarLayout 有以下特性:

1. Collapsing title(折叠标题)
当布局全部可见的时候,title 是最大的,当布局开始滑出屏幕,title 将变得越来越小,你可以通过setTitle(CharSequence) 来设置要显示的标题。

注意:Toolbar 和 CollapsingToolbarLayout 同时设置了title时,不会显示Toolbartitle而是显示CollapsingToolbarLayout 的 title,如果要显示Toolbar 的 title,你可一在代码中添加如下代码:

collapsingToolbarLayout.setTitle("");

2. Content scrim(内容纱布)
CollapsingToolbarLayout 滑动到一个确定的阀值时将显示或者隐藏内容纱布,可以通过 setContentScrim(Drawable) 来设置纱布的图片。

提示:纱布可以是图片也可以是颜色色值,如果要显示颜色,在xml 布局文件中用contentScrim属性添加,代码如下:

app:contentScrim="@color/colorPrimary"

3. Status bar scrim(状态栏纱布)
CollapsingToolbarLayout 滑动到一个确定的阀值时,状态栏显示或隐藏纱布,你可以通过 setStatusBarScrim(Drawable) 来设置纱布图片。

提示:同内容纱布一样,状态栏纱布可以是图片也可以是一个颜色值,如果要显示颜色值,在xml 中用statusBarScrim 属性指定。

4. Parallax scrolling children(有视差地滚动子View)
CollapsingToolbarLayout 的子 View 可以有视差的滚动,需要在 xml 中用 添加如下代码:

app:layout_collapseMode="parallax"

5. Pinned position children(固定子View的位置)
子 View 可以固定在全局空间内,这对于实现了折叠并且允许通过滚动布局来固定 Toolbar 这种情况非常有用。在 xml 中将 collapseMode 设为 pin,代码如下:

 app:layout_collapseMode="pin"

【Android -- Material Design】CollapsingToolbarLayout 的基本使用相关推荐

  1. Android Material Design简单使用 http://www.cnblogs.com/android-blogs/p/5632103.html

    Android Material Design简单使用 吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照 ...

  2. 视频教程-Android Material Design 新控件-Android

    Android Material Design 新控件 刘志远,北京邮电大学硕士研究生, 北京育华志远科技有限公司创始人, 育华志远教育品牌负责人,育华志远课程体系打造者. 率领团队为互联网行业培训千 ...

  3. Android Material Design按钮样式

    本文翻译自:Android Material Design Button Styles I'm confused on button styles for material design. 我对材质设 ...

  4. Android Material Design :LinearLayoutCompat添加分割线divider

     Android Material Design :LinearLayoutCompat添加分割线divider Android Material Design 扩展支持包中的LinearLayo ...

  5. Android Material Design TabLayout属性app:tabMode和app: tabGravity

    Android Material Design TabLayout属性app:tabMode和app: tabGravity Android Material Design 中的TabLayout有两 ...

  6. android夜间模式揭露动画,Android Material Design系列之夜间模式

    今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:<Android Material Design系列之夜间模式>.在Android 5.0 之后,实现夜间模式并非很难了,支持的5.0库提 ...

  7. Android Material Design按钮样式设计

    Today we'll dive deep into Android Buttons in Material Design and develop an application that showca ...

  8. Android Material Design 系列之 BottomNavigationView + ViewPager + Fragment + BadgeView 开发详解

    前言 BottomNavigationView 是 Material Design 提供的一个标准底部导航栏的实现,可以轻松的实现导航栏菜单之间的切换与浏览.底部导航使用户更方便的查看和切换最高层级的 ...

  9. 解决Error inflating class com.google.android.material.appbar.CollapsingToolbarLayout

    该错误通常由以下原因之一引起: 缺少依赖库:如果使用的是 com.google.android.material 库中的视图,则必须在项目的 build.gradle 文件中添加该库的依赖,否则无法正 ...

  10. Android Material Design Icon Genenerator 插件为个人开发者提供 Icon 图标大全

    前言 如果你作为个人开发者,没有美工小姐姐的情况下,项目中的图标 icon 很是苦恼.之前用过阿里巴巴图标库 Iconfont,后来发现 Android studio 中有一个很牛逼的 icon 插件 ...

最新文章

  1. 自旋电子学与量子计算机,基于“分子自旋电子学”的新技术,将给量子计算机带来新希望!...
  2. Nature:超越地域和文化,AI识别出全人类共同的16种面部表情
  3. Spring MVC 原理探秘 - 容器的创建过程
  4. 前端学习(875):dom事件流理论
  5. 构建电商网站业务安全系统,防止“薅羊毛”
  6. 【C#桌面应用】第一节:使用C#开发桌面应用的准备
  7. 如何系统地自学python100天_如何系统地自学 Python?
  8. 使用计算机系统管理商品存货,ERP管理系统中编码的意义
  9. php5.3启动,关于php5.3.8启动问题
  10. 基于Cocos2d-x开发guardCarrot--2 《保卫萝卜2》主页面开发
  11. 如何使用Aimersoft Video Suite Mac将 DVD 刻录到 ISO/DVD 文件夹
  12. 别总抱怨自己怀才不遇,告诉你将才与帅才的12个差别!
  13. Android自定义ProgressBar样式:渐变圆角水平进度条
  14. 拓端tecdat|matlab如何滤除低频尖峰脉冲
  15. BerkeleyDB
  16. aqara (737) -(a俩)_绿米与万科合作?Aqara线下服务商500家,合作有保障
  17. html做坦克大战的效果,HTML5实现坦克大战(一)
  18. oracle电子商务套件使用手册,甲骨文电子商务套件操作.pdf
  19. 事件驱动框架(二)——状态机
  20. 亚琛 计算机工程科学,德国留学,亚琛工大有哪些专业可以申请

热门文章

  1. 关于无线wifi漫游设置
  2. 您的计算机无法启动磁盘损坏,解决办法:如何修复SATA硬盘损坏并无法启动?...
  3. 大疆2019校招提前批机器学习算法工程师在线笔试题目回忆版
  4. RT-Thread学习笔记——信号量
  5. 微信拼车小程序无服务器,滴滴顺风车下架 拼车微信小程序笑了
  6. neutron-server.service启动失败显示代理报错http://controller:9696/v2.0/agents.json
  7. 修改ua html5,html5中bootstrap表单样式文件html,兼容多种UA终端
  8. 发明计算机的人的名人名言,16句关于科学家的名言
  9. RSA用私钥加密数据公钥解密数据(不是签名验证过程)
  10. 域渗透非约束委派Spooler