本章是以上两篇文章的延伸。

首先看一下大致的效果图

127.gif

下面开始详解说明一下

(1)Toolbar属性

上图中给Toolbar添加了返回按钮,并且将Toolbar的背景设置成完全透明。这里需要重点说明的两个属性分别是:layout_collapseMode、layout_collapseParallaxMultiplier

layout_collapseMode:折叠模式

layout_collapseParallaxMultiplier:折叠因子

[layout_collapseMode]折叠模式

该属性有三种值,分别是pin、parallax、none。

pin:Toolbar固定,如图:

129.gif

现象是:左上角的返回键位置没有移动,说明,Toolbar是固定的。

parallax:Toolbar跟随滚动,如图:

130.gif

现象是:左上角的返回键位置跟随滚动。

none:Toolbar跟随滚动(默认),和parallax一样。

如果折叠模式选择了parallax,那么还可以添加折叠因子layout_collapseParallaxMultiplier,用法如下图:

图片.png

(2)CollapsingToolbarLayout属性

首先看一下布局代码:

android:id="@+id/app_bar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

android:id="@+id/collapsing_toolbar_layout"

android:layout_width="match_parent"

android:layout_height="match_parent"

app:contentScrim="?attr/colorPrimary"

app:title="CollapsingToolbarLayout演示"

app:layout_scrollFlags="scroll|exitUntilCollapsed"

app:toolbarId="@+id/toolbar">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:scaleType="centerCrop"

android:src="@mipmap/che4"

android:visibility="visible" />

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="?attr/actionBarSize"

android:background="@android:color/transparent"

app:title="我是Toolbar"

app:navigationIcon="@mipmap/back"

app:layout_collapseMode="parallax"

app:layout_collapseParallaxMultiplier="0.7" />

AppBarLayout下是CollapsingToolbarLayout,CollapsingToolbarLayout是design依赖中的控件之一,主要目的是为了实现Toolbar的折叠效果。

[app:layout_scrollFlags]:这个属性上一篇文章已经解释过了,不再重复描述了。

[app:toolbarId]:在折叠的时候 显示的toolbar的id

[contentScrim]:当Toolbar折叠到一定程度时的背景颜色

[scrimAnimationDuration]:控制Toolbar收缩时,颜色变化持续时间

[collapsedTitleTextAppearance]:在折叠的时候标题文字的外观。必须引用另一个资源

[expandedTitleTextAppearance ]:在展开的时候标题文字的外观

[collapsedTitleGravity]:指定在折叠之后标题放置的位置

[expandedTitleGravity]:在展开的时候 标题放置的位置

[expandedTitleMargin]:设置边界距离,还可以单独设置Bottom、Top、Left、Right等

[scrimVisibleHeightTrigger]:触发背景颜色改变

[statusBarScrim]:在折叠的时候 状态栏 的背景颜色(一般不需要设置)

[titleEnabled]:是否显示标题

以上属性效果就不截图了。

(3)其他说明

如果理解前两篇文章的话,就会觉得这个特别简单

CollapsingToolbarLayout往往和Toolbar配合使用

[本章完...]

android 三个按钮联动,Android之嵌套联动三:CollapsingToolbarLayout+Toolbar相关推荐

  1. android 多个按钮排列,Android开发消除横向排列的多个Button之间的空隙

    一.问题重述 摘要里描述的可能不太清楚,问题如下图: 如何消除Button1和Button2之间的空隙,以及Button与左右边界之间的空隙? 二.问题根源 这里出现的空隙其实是Button的背景图片 ...

  2. android 按钮 叠加,android - 叠加层按钮在Android 4.3中不起作用 - 堆栈内存溢出

    我在WindowManager.LayoutParams.TYPE_TOAST级别层上有一个带按钮的覆盖视图. 该按钮在Android 4.2中可以正常工作,但是当我在Android 4.3中运行相同 ...

  3. android 键盘回车按钮事件,android 监听软键盘 回车键

    InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.); imm.hideSoftI ...

  4. android多个按钮美化,Android开发学习系列(一)——Android按钮圆角美化

    今天给大家介绍一下Android Shape Drawable 美化圆角图形,废话不多说,直接上代码 1.首先你得有一个button,在Android xml中直接创建一个控件 android:id= ...

  5. android自定义漂亮按钮样式,Android开发之漂亮Button样式

    开发中各种样式的Button,其实这些样式所有的View都可以共用的,可能对于你改变的只有颜色 所有的都是用代码实现 150CC48D90067F05BFAC966F4EE3E21D.jpg 边框样式 ...

  6. android四个按钮平分,android 水平平分两个按钮

    项目中需要显示水平两个按钮,且都要有间距,如下图所示: 首先我想到的是使用权重,然后利用水平布局,这样应该可以实现,但真实的情况是这样的,代码如下: android:layout_width=&quo ...

  7. android多个按钮美化,Android按钮美化样式的实现代码

    话不多说,上运行效果图 在drawable文件夹下 新建button_drawable.xml android:shape="rectangle"> android:bott ...

  8. android点击按钮静音,android 实现一键静音功能

    最近在android5.1上面做一个功能,类似苹果的一键静音功能.山寨大国,一直模仿,但从未超越,别人做什么,砸门跟着做.下面就来看看android究竟怎么实现这个功能呢? 刚开始我也不知到怎么做,怎 ...

  9. android自动调用按钮事件,Android Button自动触发点击事件

    原因 开发过程中遇到button.performClick()无效,原因是View.performClick()需要再UI线程中调用才会有效执行. 响应系统调用的方法(比如报告用户动作的onKeyDo ...

  10. android 键盘搜索按钮事件,Android EditText 软键盘搜索事件

    只需要在XML在输入框中加入android:imeOptions="actionSearch",调用软键盘时,回车键就会显示搜索二字. searchText.setOnEditor ...

最新文章

  1. 2022-2028年中国智慧物流行业深度调研及投资前景预测报告(全卷)
  2. Nacos真香,从零到一学起来
  3. 如何用初中知识理解机器学习到底在干什么事情
  4. Golang 并发concurrency
  5. JS实现标签页效果(配合css)不同标签下对应不同div
  6. 控制台 - 网络管理之华为交换机 S系列端口限速
  7. PyTorch-混合精度训练
  8. [剑指offer]面试题第[60]题[JAVA][n个骰子的点数][动态规划][空间优化]
  9. 最佳实践|Spring Boot 应用如何快速接入 Prometheus 监控
  10. PERKET(洛谷P2036题题解,Java语言描述)
  11. Python 基本语法规则
  12. 开源商业模式是万恶之本?
  13. 拓端tecdat|在R语言中用模拟探索回归的P值
  14. 第1卦 乾为天(乾卦) 刚健中正 上上卦
  15. manjaro install ftp server
  16. 网易美学-系统架构系列1-分布式与服务化
  17. Win10系统wifi图标消失无法联网怎么办
  18. STM32之RTC实时时钟
  19. steps函数--参数意思和用法
  20. mysql是怎么实现多对多的_mysql复习篇及一对多和多对多的总结(17.6.26 )

热门文章

  1. SEO人生衔接后用户可随时随地同他的合作伙伴协同工作
  2. Windows Live Messenger 新功能预览
  3. Turbo C 2.0、Borland C++库函数及用例
  4. 30秒解决电脑越用越卡的大众常见难题
  5. java猜数游戏有次数限制_“去小学化”之后,可以这样开展数学游戏,让孩子玩中学,学中乐!...
  6. 数学建模酶促反应matlab求解,数学建模——酶促反应.doc
  7. IT行业培训必读:优秀程序员的十个习惯
  8. 「超级右键」Mac必备的一款软件,新手get!
  9. 十二届蓝桥杯C++ 1月 中 高级组试题 第三题 换算
  10. qt android文件读写文件,qt android 开发之写入xml配置文件篇