Android5.0+ 使用指南:CollapsingToolbarLayout 实现折叠效果
33 浏览量
更新于2024-09-01
收藏 201KB PDF 举报
"Android5.0+ CollapsingToolbarLayout使用详解"
在Android开发中,`CollapsingToolbarLayout` 是一个强大的组件,特别是在构建具有动态布局效果的应用界面时。这个组件自Android 5.0(Lollipop)引入,是Google的`Design Support Library`的一部分,用于实现Material Design规范中的高级交互效果。`CollapsingToolbarLayout` 作为`AppBarLayout`的直接子类,扩展了`FrameLayout`的功能,主要设计用来与`NestedScrollView`或`RecyclerView`等可滚动视图配合使用,实现标题栏(Toolbar)在用户滚动内容时的动态折叠和展开效果。
使用`CollapsingToolbarLayout`时,首先需要在XML布局文件中声明它,并将`Toolbar`或其他视图(如`ImageView`)作为其子元素。例如:
```xml
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/your_image"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
```
在这个例子中,`CollapsingToolbarLayout` 的关键属性有:
- `app:contentScrim` 用于设置当`CollapsingToolbarLayout`折叠时的背景颜色。
- `app:expandedTitleMarginStart` 控制展开状态时标题的起始内边距。
- `app:layout_scrollFlags` 是最重要的属性,它定义了子视图在滚动时的行为。`scroll` 表示随着内容滚动,子视图会离开屏幕;`exitUntilCollapsed` 表示子视图会一直滚动直到完全折叠。
- `app:layout_collapseMode` 用于指定子视图在折叠过程中的行为,如`parallax`表示视差滚动,`pin`表示固定在顶部。
对于`ImageView`,`app:layout_collapseMode="parallax"` 和 `app:layout_collapseParallaxMultiplier` 属性使得图片在滚动时以一定的比例产生视差效果,创建出更生动的视觉体验。
对于`Toolbar`,`app:layout_collapseMode="pin"` 确保在滚动过程中,`Toolbar`始终固定在顶部,即使`CollapsingToolbarLayout`折叠也不会消失。
为了使`CollapsingToolbarLayout`生效,需要在可滚动的视图(如`NestedScrollView`或`RecyclerView`)上设置`android:nestedScrollingEnabled="true"`,并给`AppBarLayout`设置`app:layout_behavior`,通常设置为`@string/appbar_scrolling_view_behavior`。
`CollapsingToolbarLayout` 提供了一种优雅的方式来实现折叠标题栏,增强了Android应用的用户体验,尤其是对于需要丰富头部交互的界面设计。通过灵活地调整相关属性,开发者可以定制出各种独特的滚动动画效果,从而提升应用的视觉吸引力。
2017-02-24 上传
2017-06-29 上传
点击了解资源详情
2021-01-04 上传
2019-10-09 上传
weixin_38746515
- 粉丝: 15
- 资源: 945
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍