CollapsingToolbarLayout
简介
- 一个
FrameLayout
- 用于实现可折叠的标题栏,通常在子布局中放一个
Toolbar
- 必须作为
AppBarLayout
的子类,才能发挥出效果
xml属性
在 CollapsingToolbarLayout
中的部分属性
collapsedTitleGravity
:折叠态标题位置collapsedTitleTextAppearance
:折叠态标题外观expandedTitleGravity
:扩展态标题位置expandedTitleMargin*
:扩展态标题的Margin
。注意与expandedTitleGravity
可能冲突expandedTitleTextAppearance
:扩展态后标题的外观contentScrim
:折叠态后Toolbar
颜色scrimAnimationDuration
:收缩或展开时颜色动画持续时间。需要设置contentScrim
生效scrimVisibleHeightTrigger
:触发高度。小于的时候,展示contentScrim
,否则不展示toolbarId
:折叠态的时候显示的Toolbar
的id
在 CollapsingToolbarLayout
中还需要使用 AppBarLayout
中的属性
app:layout_scrollFlags
:具体参考AppBarLayout
中的Flag
用法
在 CollapsingToolbarLayout
子view
中用到的属性(CollapsingToolbarLayout.LayoutParams
)
layout_collapseMode
:折叠模式。三种取值COLLAPSE_MODE_OFF
(none) :等于没设置COLLAPSE_MODE_PARALLAX
(parallax) :view将以视差方式滚动上面大图部分的父
View
是CollapsingToolbarLayout
,对ImageView
设置了parallax
,效果就是上下各一半的减少,最后显示的位置是图片的正中央COLLAPSE_MODE_PIN
(pin) :view
固定在适当位置,直到达到CollapsingToolbarLayout
底部。就相当于View
被整个推上去或者拉下来的效果
layout_collapseParallaxMultiplier
: 视差系数。layout_collapseMode
设置为parallax
才生效。不设置视差系数,默认为0.5
,就是收缩时上下各自收缩一半。视差系数决定下面收缩比例。如:对
ImageView
设置视差系数为0.2,可以看到收缩的时候,下面收缩的比较慢,上面收缩的比较快。实际上下面没收缩2px,上面就收缩8px,收缩速度是下面的4倍
例子
597直聘的
1 | //布局关闭时顶部距离 |
布局
1 |
|