禁止AppBarLayout滑动

遇到xx产品测试通过后改需求,他让在展开下面前不允许往上面滑动,但是弹上去又需要这个,so搞了这个方案。

/**
    * 控制appbar的滑动
    * @param isScroll true 允许滑动 false 禁止滑动
    */
   private void banAppBarScroll(boolean isScroll){
       View mAppBarChildAt = appBarLayout.getChildAt(0);
       AppBarLayout.LayoutParams  mAppBarParams = (AppBarLayout.LayoutParams)mAppBarChildAt.getLayoutParams();
       if (isScroll) {
           mAppBarParams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED);
           mAppBarChildAt.setLayoutParams(mAppBarParams);
       } else {
           mAppBarParams.setScrollFlags(0);
       }

   }

顺便用了下 view的scrollTo 和 scrollBy
前者为滑动到你让他去的地方
后者为滑动你给的大小距离

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708
  • 本文内容参考于《android开发艺术探索》,作为分析总结。 1、一些基础 1.1、理解View的位置参数 看下面...
    聪聪的豆芽阅读 605评论 0 1
  • 一滑动效果的产生 滑动一个View,本质区别就是移动一个View。改变当前View所在的坐标,原理和动画相似不断改...
    猿万阅读 9,975评论 0 14
  • 初三四班,我们的芳华 初三四班,如果把我情敌也算人的活共十八名学生,这个班在教育史上曾经神...
    一字戒阅读 559评论 0 0
  • 太平人寿吉林分公司白城中支于6月14日下午2:58准时召开“韵动6月”VIP客户主题活动,到场客户48人,由...
    吉分阅读 376评论 0 0