AppBarLayout ScrollFlags

CoordinatorLayout经常会和AppBarLayout配合使用,AppBarLayout的滑动属性有以下flags,xml中设置方法如下:

app:layout_scrollFlags="scroll|enterAlways"

flags取值scroll, enterAlways, enterAlwaysCollapsed, exitUntilCollapsed, snap,其中scroll是必须的

scroll

允许跟随嵌套滑动

enterAlways

向下滑动时,优先滑动设置了该属性的view,然后在滑动list类的child view

enterAlwaysCollapsed

对enterAlways的补充,配合enterAlways一起使用,设置该flags的view需要设置minimum height。

向下滑动时优先滑动该view,先滑出minimum height距离后,在滑动child view,最后在把该view余下的距离滑出。

exitUntilCollapsed

这个属性和上面属性类似,也需要一个minimum height, 不过这个属性作用于向上滑动时。
向上滑动时,会留下minimum height的高度固定在顶部,然后child view在继续滑动,类似于吸顶。

snap

这个效果类似于一个阈值,向上或者向下滑动时,没有达到阈值,则弹回。更viewpager翻页时阈值效果一样

注意

因为AppBarLayout是一个线性布局,所以当某个view没有设置scroll属性时,会导致该view和后面的所有view都不能滑动,这也是为什么scroll属性是必须的。

你可能感兴趣的:(AppBarLayout ScrollFlags)