recycleview头部颜色变化

public class HomeFragment extends Fragment {

@InjectView(R.id.rv_home)
RecyclerView mRvHome;
@InjectView(R.id.home_tv_address)
TextView mHomeTvAddress;
@InjectView(R.id.ll_title_search)
LinearLayout mLlTitleSearch;
@InjectView(R.id.ll_title_container)
LinearLayout mLlTitleContainer;
private View mView;
private List<String> mDatas = new ArrayList<>();
private HomeRvAdapter mHomeRvAdapter;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    mView = View.inflate(getContext(), R.layout.fragment_home, null);
    ButterKnife.inject(this, mView);
    mHomeRvAdapter = new HomeRvAdapter(getContext(), mDatas);
    //1.设置适配器
    mRvHome.setAdapter(mHomeRvAdapter);
    //设置布局样式
    mRvHome.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
    return mView;
}

int sumY;//当前滚动的距离
float distance = 400.00f;  //滚动到150.00颜色最深,alpha值最大,临界值
int startbgColor = 0x553190E8;
int endbgColor = 0Xff438bfd;
int bgcolor = 0;//背景色变量
ArgbEvaluator mArgbEvaluator = new ArgbEvaluator();
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    // 2 加载数据
    LoadData();
    mRvHome.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            //需要知道y方向滚动多少,累加得到总共滚动多少;
            sumY += dy;
            if (sumY<0){//没有滚动
                bgcolor=startbgColor;
            }else if (sumY>distance){//超出渐变范围
                bgcolor=endbgColor;
            }else {
                bgcolor= (int) mArgbEvaluator.evaluate(distance/sumY,startbgColor,endbgColor);
            }
            mLlTitleContainer.setBackgroundColor(bgcolor);
        }
    });
}

private void LoadData() {
    for (int i = 0; i < 100; i++) {
        mDatas.add("我是是----" + i);
        mHomeRvAdapter.setDatas(mDatas);
    }
}

@Override
public void onDestroyView() {
    super.onDestroyView();
    ButterKnife.reset(this);
}}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当tableview下拉时,头部高度随之改变。如图所示。 实现思路:1、添加view到tableview上,设置t...
    微微笑的蜗牛阅读 1,987评论 0 51
  • 《最痛》 走过青葱的岁月 道一声珍重 曾经缺的一次告白 难道仅仅只是为了慎重 最痛的是后知后觉的幡然醒悟 然后从此...
    1c2e27303027阅读 338评论 0 0
  • 幸福,就是舌尖的味蕾,自在自知;幸福,就是烈日炎炎下的那抹清风;幸福,就是清晨久违自然的那声声鸟鸣;幸福,就是久旱...
    飞流三千阅读 269评论 0 1
  • 接龙客栈—悬赏任务【01】鸡 都说鸡年谈鸡大吉, 如今又要让我写鸡, 鸡啊鸡,你啊你, 世人眼中你头戴红冠, 貌似...
    云栗阅读 269评论 4 2
  • 五宫端正阅读 177评论 0 1