Android Fragment+Headview+Viewpager,Headview(头部)动态改变透明度(渐显渐隐)

  最近项目有一个Viewpager+Fragment+Headview的布局,功能需求是Headview随着Fragment中的列表(Recyclerview)的滑动而显示隐藏,并且头部在滑动过程中渐隐/渐显,图片还需要实现视差效果。捣鼓了一段时间做出来了,现在有空就写下来记录一下,分享给有需要的人。工作太忙一直没时间写博客,不周之处还望见谅。
  安卓的MD控件CoordinatorLayout +CollapsingToolbarLayout+Behavior也能实现滑动渐显渐隐效果,不过一般是结合Toolbar来使用,具体可自行查资料,但是涉及到多Fragment切换就不方便实现了,所以这里就只能换其他实现方案。
  Viewpager+Headview+Fragment 的实现主要参考了这个开源项目:https://github.com/boxme/ParallaxHeaderViewPager.git
  另外还有一个MD风格的类似项目,效果也很棒,项目地址:https://github.com/florent37/MaterialViewPager.git
  这篇文章主要是写一下在Recyclerview滚动时,headview滑动视差和渐变的效果处理,以及Viewpager切换Fragment时,列表数据不满屏,导致出现空白错位的BUG处理,整体的功能实现效果图如下:
Gif效果图

1.定义一个接口RecyclerScrollListener,声明两个回调方法:

/**
 * @TODO<Recycler滑动的监听回调接口>
 * @author 小嵩
 * @date 2016-8-1 10:00:33
 */
public interface RecyclerScrollListener {
   

    // *************************************************************************
    /**
     * (RecyclerView 滑动距离监听)
     */
    // *************************************************************************
     void Scrolled(int distance, int pagePosition);
    /**
     * (Fragment切换时 监听,避免错位)
     */
     void adjustScroll(int scrollHeight, int headerHeight);

}

2.在Fragment中,定义RecyclerScrollListener对象 ,然后覆盖onAttach方法,获取接口的实例:

private RecyclerScrollListener mScrollListener;

@Override
    public 
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值