Material Design之CoordinatorLayout CollapsingToolbarLayout

如想实现项目中相关效果,需要添加以下jar包至工程中

在项目对应的build.gradle中添加以下配置
dependencies {
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.0'
}

CoordinatorLayout

  • CoordinatorLayout实现了多种Material Design中提到的滚动效果,
    此框架提供几种不需要写java代码就可以实现的动画效果,此控件为以下控件的最大父容器

CollapsingToolbarLayout

  • 可折叠的ToolBar容器

    如想使用app开头的属性,需在布局文件的名空间做以下申明
    xmlns:app="http://schemas.android.com/apk/res-auto"
    
    部分可用属性说明
    属性1:expandedTitleMarginStart
    使用示例:
    app:expandedTitleMarginStart="14dp":指定文字和左边缘的间距
    
    属性2:layout_scrollFlags
    使用示例
    app:layout_scrollFlags="scroll|exitUntilCollapsed"
    属性值说明:
    scroll:现有容器,可以滚动折叠
    exitUntilCollapsed:可以让ToolBar固定在最顶部,而不伴随手势的滚动也移出
    enterAlways:ToolBar完全在滚动过程中隐藏,如果手势向下移动则此ToolBar再次显示
    
    属性3:contentScrim
    使用示例        
    app:contentScrim="#30469b":折叠后容器的色值
    

ToolBar

  • 应用标题
    部分属性说明

    属性1:layout_collapseMode
    使用示例:
    app:layout_collapseMode="pin"
    属性值说明
    pin:设置为这个模式时,当CollapsingToolbarLayout完全收缩后,Toolbar还可以保留在屏幕上
    parallax:设置为这个模式时,在内容滚动时,CollapsingToolbarLayout中的View(比如ImageView)也可以同时滚动,实现视差滚动效果,通常和layout_collapseParallaxMultiplier(设置视差因子)搭配使用。
    
    属性2:android:layout_height
    使用示例:android:layout_height="?attr/actionBarSize"
    指定ToolBar收缩后的高度和actionBar保持一致
    

AppBarLayout

  • CollapsingToolbarLayout的父容器,用于管理可折叠ToolBar容器,即CollapsingToolbarLayout伴随手势滚动

AppBarLayout伴随底部列表滚动

1,定义AppBarLayout与滚动视图之间的联系
2,在RecyclerView或者任意支持嵌套滚动的view,如:NestedScrollView上添加app:layout_behavior,并将其属性值设置为@string/appbar_scrolling_view_behavior
3,support library包含了一个特殊的字符串资源@stringappbar_scrolling_view_behavior,
它和AppBarLayout.ScrollingViewBehavior相匹配,用来通知AppBarLayout这个特殊的view何时发生了滚动事件,这个behavior需要设置在滚动触发事件的view之上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值