美文网首页
AppBarLayout

AppBarLayout

作者: 大灰狼zz | 来源:发表于2018-10-27 15:42 被阅读0次

    Android 初识AppBarLayout 和 CoordinatorLayout
    AppBarLayout从本质上就是一个垂直的LinearLayout,只是它为了实现交互动画效果增加了一些滑动特性,基本上严重依赖于协调者布局CoordinatorLayout。如果你将AppBarLayout放置在一个其它的ViewGroup中,这些滑动特性将不起作用,而此处的AppBarLayout也就是失去了原本存在的意义。

    定义在AppBarLayout中的Children应该明确设置各自的scrolling behavior,也就是滑动行为。在代码中,可以使用setScrollFlags(int)方法,在布局中可以使用app:layout_scrollFlags属性。setScrollFlags的参数取值是系统定义好的五个常量,位于AppBarLayout.LayoutParams类中。
    这五个常量的含义从名字中也可以看出一二,这里就不干巴巴的念叨了,后续结合着实际案例分别介绍,这样理解也会深刻一些:

    SCROLL_FLAG_SCROLL
    SCROLL_FLAG_EXIT_UNTIL_COLLAPSED
    SCROLL_FLAG_ENTER_ALWAYS
    SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED
    SCROLL_FLAG_SNAP

    补充一点:可以使用addOnOffsetChangedListener方法为AppBarLayout添加滑动偏移监听事件,如:

    appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
        @Override
        public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
              // TODO
        }
    });
    

    verticalOffset 参数值表示偏移值,可用appBarLayout.getTotalScrollRange()方法获取最大偏移值。

    相关文章

      网友评论

          本文标题:AppBarLayout

          本文链接:https://www.haomeiwen.com/subject/yivszftx.html