本篇文章为大家展示了怎么在Android应用中利用CoordinatorLayout实现一个标题滚动效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
成都创新互联公司坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10多年网站建设经验成都创新互联公司是成都老牌网站营销服务商,为您提供网站建设、网站制作、网站设计、H5技术、网站制作、品牌网站设计、微信小程序开发服务,给众多知名企业提供过好品质的建站服务。
在Material Design里,CoordinatorLayout通常用来作为顶层视图,来协调处理各个子View之间的动作,从而实现各种动画效果,如Snackbar与FloatingActionButton的配合显示效果,就是以CoordinatorLayout作为根布局来实现的
CoordinatorLayout提供Behaviors接口,子View通过实现Behaviors接口来协调和其它View之间的显示效果,可以这么理解:
CoordinatorLayout让其子View之间互相知道彼此的存在,任意一个子View的状态变化会通过Behaviors通知其它子View,CoordinatorLayout就像一个桥梁,连接不同的View,并使用Behavior处理各个子View之间的通信
在xml布局文件中进行设置
首先给被AppBarLayout包裹的View添加app:layout_scrollFlags属性,并设置相应的值
• scroll:让该View可以滚动出屏幕
• enterAlways:不需要滚动到顶部,只要有向上滚动的事件就显示该View
• enterAlwaysCollapsed:定义该View何时进入,如果你定义了一个最小高度minHeight,同时enterAlways也定义了,那么该View将会在到达这个最小高度的时候开始慢慢显示,直到滚动组件滚动到顶部时再完全展开
• exitUntilCollapsed:定义该View何时退出,如果你定义了一个最小高度minHeight,那么这个View将在滚动到达这个最小高度时消失
如果不设置layout_scrollFlags属性,那么该View就会固定在屏幕上
enterAlwaysCollapsed和exitUntilCollapsed属性主要是在搭配CollapsingToolbarLayout时使用的
注意:布局的时候,AppBarLayout里面滚动的View要放在固定的View上面
然后在CoordinatorLayout布局里放一个可以滚动的View(不支持ListView),这里使用ViewPager里放置一个RecylerView,为该ViewPager设置app:layout_behavior属性,这里可直接使用Android自带的值
app:layout_behavior=”@string/appbar_scrolling_view_behavior”
设置该值的作用相当于告诉CoordinatorLayout,此View是一个滚动控件,如果该View滚动了,那么设置了layout_scrollFlags属性的控件就可以响应滚动事件了
想实现效果一,总结
使用CoordinatorLayout作为根布局
使用AppBarLayout包裹头部View,并给需要滚动的View设置app:layout_scrollFlags属性
给滑动组件设置app:layout_behavior属性
效果二:
使用到CollapsingToolbarLayout布局,我们在效果一的基础上更改布局代码
一些属性的作用
• title:设置Toolbar的标题,注意:如果在CollapsingToolbarLayout中指定了title属性,那么Toolbar中的title属性将会变得无效
• expandedTitleMarginStart:设置下拉伸缩完成后,ToolBar标题文字左边的margin距离
• expandedTitleMarginEnd:设置下拉伸缩完成后,Toolbar标题文字右边的margin距离
• contentScrim:设置Toolbar折叠到顶部后的背景
• layout_collapseMode:折叠效果,有两个值,pin代表从底部拉出,parallax代表从中间展开
总结
首先我们设置一个固定的高度给AppBarLayout
然后给AppBarLayout的子View包裹了一层CollapsingToolbarLayout,并设置CollapsingToolbarLayout的滚动属性为scroll|exitUntilCollapsed
最后再为CollapsingToolbarLayout里的子View设置layout_collapseMode属性,指定其展示效果
上述内容就是怎么在Android应用中利用CoordinatorLayout实现一个标题滚动效果,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。