AndroidUI

Android中MaterialDesign使用 (四)Coor

2016-10-11  本文已影响124人  飞渡浮舟

Android中MaterialDesign使用 (四)CoordinatorLayout的初识

Android中MaterialDesign使用 (一)TabLayout+Fragment实现顶部选项卡

Android中MaterialDesign使用 (二)Navigation+Drawerlayout+Toolbar实现简单侧滑菜单

Android中MaterialDesign使用 (三)SnackBar的使用

在上一节的SnackBar中已经提到CoordinatorLayout的基本使用,本节将使用该布局配合AppBarLayout和TabLayout实现如下的效果:


enterAlwaysCollapsed: enterAlways的附加值。这里涉及到Child View的高度和最小高度,向下滚动时,Child View先向下滚动最小高度值,然后Scrolling View开始滚动,到达边界时,Child View再向下滚动,直至显示完全。

xml示例代码:

...
android:layout_height="@dimen/dp_200"
android:minHeight="@dimen/dp_56"
...
app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
...

scroll丨enterAlways|enterAlwaysCollapsed对应的效果图:


snap: 简单理解,就是Child View滚动比例的一个吸附效果。也就是说,Child View不会存在局部显示的情况,滚动Child View的部分高度,当我们松开手指时,Child View要么向上全部滚出屏幕,要么向下全部滚进屏幕,有点类似ViewPager的左右滑动。

xml示例代码:

...
android:layout_height="@dimen/dp_200"
...
app:layout_scrollFlags="scroll|snap"
...

scroll|snap对应的效果图:


layout_scrollFlags的五个属性的都是一些细微的差别,仔细观察效果图就会看出来的!

这个类的特性强烈依赖于它是否是一个CoordinatorLayout的直接子view,如果不是,那么它的很多特性不能够使用。AppBarLayout需要一个具有滑动属性的兄弟节点view(比如:ScrollView,ListView,RecyclerView之类),并且在这个兄弟节点View中指定behavior属性为AppBarLayout.ScrollingViewBehavior的类实例,可以使用一个内置的string表示这个默认的实例@string/appbar_scrolling_view_behavior.

behavior这个属性在后面的博客中会提到.这里知道有这样一个属性就行了


后面的效果图中ViewPager与TabLayout之间的绑定在前面的帖子已经说明了:

请参考:MaterialDesign使用 (一) TabLyout的使用:TabLayout+Fragment实现顶部选项卡

ViewPager中的每个页面都添加了一个RecyclerView来实现; 那里的代码比较熟悉就不贴上来了!

注意:要做成这样的效果下面的布局必须是一个可以支持上下滑动的布局!!!

上一篇下一篇

猜你喜欢

热点阅读