专业编程基础技术教程

网站首页 > 基础教程 正文

安卓AppBarLayout的5种scrollFlags详解

ccvgpt 2024-08-04 12:04:10 基础教程 12 ℃

Material Design系列中的AppBarLayout的

ScrollFlags共有五种常量值供AppBarLayout的Children View使用,在xml布局文件中通过

安卓AppBarLayout的5种scrollFlags详解

app:layout_scrollFlags 设置,对应的值为:

scroll,enterAlways,enterAlwaysCollapsed,snap,exitUntilCollapsed;

也可以在代码中通过

Toobar toobar=...

AppBarLayout.LayoutParams iParams=toolbar.getLayoutParams();

iParams.setScrollFlas(...);

Scroll

随着别的控件滑动而滑动。当用到其他的flas的时候,必须加上它,不然其他的就没有效果

这个就一个滚动效果我就不上传效果图了

enterAlways

简称快速滑回,当上拉的时候,他会随着上拉消失在最上面,当用户下来的时候,会第一事件显示出来,当显示完全会,才把事件重新交给Scrolling View。

enterAlwaysCollapsed

enterAlways的附加值。这里涉及到AppLayoutBar的子View的高度和最小高度,向下滚动时,子View先向下滚动最小高度值,然后Scrolling View开始滚动,到达边界时,Child View再向下滚动,直至显示完全。在xml中还需要添加一个minHeight高度。效果图如下

这个是我没有设置minHeight高度的情况。

Snap

就是你上滑动或者下滑动的时候,滑倒一定程度,松开手指,它会自动收缩或者展开

ExitUntilCollapsed

也涉及到最小高度。发生向上滚动事件时,Child View向上滚动退出直至最小高度,然后Scrolling View开始滚动。也就是,Child View不会完全退出屏幕,保留着你设置的最小高度



当我们需要图片和toolbar一起使用的时候,并且保留toolbar在最上方,就需要另外在AppLayoutBar里面在添加一层

CollapsingToolbarLayout ,这个相当于一个Framelayout 。布局文件

效果图。

关于沉浸式我添加了

StatusBarUtil

compile 'com.jaeger.statusbarutil:library:1.4.0'

若要对toobar的背景或者状态栏的颜色进行更改的话 就需要对AppLayoutBar进行监听

如图中Log打印的日志,第一个数是最大偏移量,verticaloffset是当前偏移量。具体怎么操作就看你想要什么效果了

关注,点赞,收藏都是极好的。

有什么错误的地方请指出,谢谢

Tags:

最近发表
标签列表