Android CoordinatorLayout(四) CoordinatorLayout的常用属性

简介: 前面我用三章讲了CoordinatorLayout的一些用法,常用的就那三四种,如果你还想实现其它的想要的效果,可以好好的了解一些这个控件,甚至看看它的源码,这样你才能真正的玩会它。

前面我用三章讲了CoordinatorLayout的一些用法,常用的就那三四种,如果你还想实现其它的想要的效果,可以好好的了解一些这个控件,甚至看看它的源码,这样你才能真正的玩会它。

接下来我们把上几篇中的一些细节给讲一下,属性什么的。

二、CoordinatorLayout组合中常用到的属性

1. app:layout_scrollFlags

这个属性说是最重要的都不为过,之前的例子中我们都只写了app:layout_scrollFlags = “scroll”,也仅仅说了设置这个属性才能折叠,现在看看是什么含义。
我们找到出现这个属性的地方。你会发现他在AppBarLayout内,所以要在这个Viewgroup内才能设置这个属性

img_7f01df37685b790f17a07eabd39894c9.png
image.png

他定义了这些属性:
(1)public static final int SCROLL_FLAG_SCROLL = 0x1;
(2)public static final int SCROLL_FLAG_EXIT_UNTIL_COLLAPSED = 0x2;
(3)public static final int SCROLL_FLAG_ENTER_ALWAYS = 0x4;
(4)public static final int SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED = 0x8;
(5)public static final int SCROLL_FLAG_SNAP = 0x10;

如果你看API,你会发现这个属性可以设值
scroll(1),enterAlways(3),enterAlwaysCollapsed(4),exitUntilCollapsed(2)
,snap(5)

(1)scroll:就是想要折叠的话必须 必须 必须使用这个值。注意如果在这个child View前面的任何其他Child View没有设置这个值,那么这个Child View的设置将失去作用。
(2)exitUntilCollapsed : 就是设置这个属性的view,你可以给它设置一个最小高度android:minHeight,当它折叠到这个高度时就不会继续折叠。
(3)enterAlways: 如果你设置这个值,当View已经处于折叠状态,你向下滑动时会优先展开。不设置时会先让滑动控件滑到顶部再展开。
(4)enterAlwaysCollapsed :效果就是(2) + (3)的组合
(5)snap : 相当于一个磁铁一样,会吸附。这个很重要,有些别人写的酷炫效果都用到它。如果你会用好这个值,那你做出来的东西肯定逼格很高。

建议:
建议如果有时间自己写个demo把每个属性都试试,如果大家没时间,我推荐这个笔者写的文章,上面有展示GIF,你对着属性就很容理解哪种值对应哪种效果,写得很用心。
http://www.jianshu.com/p/7caa5f4f49bd

2. app:layout_behavior="@string/appbar_scrolling_view_behavior"

这个属性也是一个重要的属性,之前我也只说了,不设置这个的话,会像frameLayout一样重叠。现在就来好好介绍一下这个属性。

简单来说这个属性的意思是:
通知布局中包含滑动组件

怎么说呢?你想想,如果你做一个外层有滑动效果的控件,内部再包含一个有滑动效果的控件,想想,是不是会滑动冲突。而这个属性你可以当成是为了通知整个控件,设置这个属性的会和它产生冲突,让它解决。

你要是有强迫症可以删掉这个属性看看效果。我不会弄gif,展示不了效果,不过我能告诉你删除后会有滑动冲突。不过你也可以利用这个冲突达到一种黑科技的效果。
顺便展示一下源码中的位置吧,感兴趣的可以自己去翻源码。

img_30a23f438f491ad11b4d56f93044c377.png
image.png
img_c553371c57b720fb8558e23f75144cf3.png
image.png
3. android:fitsSystemWindows

有些人写的demo中设置有这个属性,我这里没有,不过还是讲解一下吧。

这个状态可以调节状态栏,也就是你手机最顶的那栏,设置的话能让View根据状态栏来调整自己。

4. app:layout_collapseMode

这个是CollapsingToolbarLayout中用到的,CollapsingToolbarLayout中还有很多属性我不讲,大家可以自己去查然后学习,我就讲我认为最重要的app:layout_collapseMode。
这个属性可以设置两个值,具体例子可以参考Android CoordinatorLayout(二)的demo

(1)pin: 固定模式,在折叠的时候最后固定在顶端
(2)parallax: 视差模式,在折叠的时候会有个视差折叠的效果(就是折叠+渐变)

属性的话我就想介绍这4个,其它的都比较常用,还有一个layout_behavior,这个是写在AppBarLayout中的属性,为了解决卡顿问题。

目录
相关文章
|
XML Android开发 数据格式
Android Support Design Library之CoordinatorLayout(二)
Android Support Design Library之CoordinatorLayout(二)
68 0
|
Android开发
Android Support Design Library之CoordinatorLayout(一)
Android Support Design Library之CoordinatorLayout(一)
106 0
Android Support Design Library之CoordinatorLayout(一)
|
Android开发 数据格式 XML
Android Design Support Library全解:Part 5 CoordinatorLayout 与其他控件的联动
Android Design Support Library系列第5弹,TabLayout 实现滑动选项卡 1504424076347.png 在前文Part 4 – TabLayout中我们已经使用CoordinatorLayout和其他控件配合过(比如Snackbar出现时,FAB上移),这里来重点介绍其使用方法。
1240 0
|
Android开发
Android CoordinatorLayout(一) 初探CoordinatorLayout
相信很多人用过CoordinatorLayout或了解过这个控件,这次我们来聊聊这个让人又爱又恨的控件。对我来说,爱是因为它的“协调”功能灰常66666,很是因为有时候滑动真的是卡。
1180 0
|
Android开发
Android CoordinatorLayout(二)CoordinatorLayout的组合使用
上一章讲到了CoordinatorLayout + Toolbar,这章继续讲布局相关。 3、CollapsingToolbarLayout + Toolbar 如果对 2 的效果不满意,我们想更高大上一点的,我们要展开的时候是图片,折叠的时候是Toolbar,这样的逼格才高。
1076 0
|
Android开发
Android CoordinatorLayout(三) CoordinatorLayout的组合使用
上章讲了CollapsingToolbarLayout + Toolbar的简单用法,记住是简单哈,复杂需要自定义,搞不来的就用简单吧。 注意:只用要使用到上一章那种效果才用CollapsingToolbarLayout ,其它效果没必要用。
1632 0
|
Android开发 UED
Android CoordinatorLayout(五) 严重的卡顿BUG
这章来讲一个重大的问题,解决卡顿,我不敢保证我的方法是最优而且对所以都管用,但是至少会比之前的滑动顺畅。 如果你用我Android CoordinatorLayout(三)中写的demo,你会发现一个问题,滑动会有卡顿,关键是,你如果一直用手指触碰屏幕滑动的话不会感觉什么。
2296 0
|
算法 Android开发 数据格式
Android CoordinatorLayout(六) 加入下拉功能
上章讲了CoordinatorLayout的卡顿BUG,既然有BUG又没解决,说实话没必要讲下去,但是做事总要有始有终,既然写了就把它写完吧,顶着BUG去写。
1777 0
|
Android开发
Android CoordinatorLayout 导文
之前写了一篇seekbar做滑动验证,想不到会有人支持,其实我自己觉得写得不是很好,包括做的也不是很好,但是还是有人给我点赞,真的感觉很开心,之后也会更用心的去写文章。
948 0
|
Android开发 数据格式 XML
Android CoordinatorLayout使用
使用CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout、FloatingActionButton制作连动布局。
932 0