RecyclerView同ArgbEvaluator,滑动改变背景颜色

提供ArgbEvaluator

//提供一个对象,用于处理颜色的渐变过程
private ArgbEvaluator argbEvaluator = new ArgbEvaluator();

recyclerview滚动监听

rvHome.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
        //滚动状态发生改变的时候调用的方法
        super.onScrollStateChanged(recyclerView, newState);
    }

    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        sumY += dy;
        int bgColor = 0X553190E8;
        if (sumY == 0) {
            //开始色值
            bgColor = 0X553190E8;
        } else if (sumY >= 300) {
            //最终色值
            bgColor = 0XFF3190E8;
        } else {
            //渐变色值,伴随手指移动,移动的越多颜色变化的就越多
            bgColor = (int) argbEvaluator.evaluate(sumY / 300.0f, 0X553190E8, 0XFF3190E8);
        }
        llTitleContainer.setBackgroundColor(bgColor);
        super.onScrolled(recyclerView, dx, dy);
    }
});

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

推荐阅读更多精彩内容