项目中需要用到这个效果, 一个searchBar 悬浮在 recyclerView 上面,但是呢,离顶部有一些距离,
而我们的recyclerView 又是多个不同的布局! 其实就是在recyclerView的OnScrollistener中做一些操作,来改变searchbar的背景.
mBinding.recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { if (dy == 0) { mBinding.searchBar.getBackground().setAlpha(0); } else if (dy > 0) { if (mBinding.searchBar.getBackground().getAlpha() + 10 > 255) { mBinding.searchBar.getBackground().setAlpha(255); } else { mBinding.searchBar.getBackground().setAlpha(mBinding.searchBar.getBackground().getAlpha() + 10); } } else { int first = ((LinearLayoutManager) recyclerView.getLayoutManager()).findFirstVisibleItemPosition(); if (first == 0) { mBinding.searchBar.getBackground().setAlpha(0); } } } });
代码比较粗糙,哈哈,总之呢大概就是这个意思!