问题:由于CoordinatorLayout嵌套太多, 也有一定的局限性,所以我在实现RecycleView滑动标题渐变透明度显示隐藏,用了RecycleView的滑动监听做了渐变效果 ;
private int height = 85; private int overallXScroll = 0;
rl_recycle.setOnScrollListener(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) { super.onScrolled(recyclerView, dx, dy); overallXScroll = overallXScroll + dy; if (overallXScroll <= 0) { rl_toolbar.setBackgroundColor(Color.argb((int) 0, 248, 100, 68)); tv_title.setTextColor(Color.argb((int) 0, 0, 0, 0)); } else if (overallXScroll > 0 && overallXScroll <= height) { //滑动距离小于banner图的高度时,设置背景和字体颜色颜色透明度渐变 float scale = (float) overallXScroll / height; float alpha = (255 * scale); rl_toolbar.setBackgroundColor(Color.argb((int) alpha, 248, 100, 68)); tv_title.setTextColor(Color.argb((int) alpha, 0, 0, 0)); } else { rl_toolbar.setBackgroundColor(Color.argb((int) 255, 248, 100, 68)); tv_title.setTextColor(Color.argb((int) 255, 0, 0, 0)); } } });这里一看就明白了应该,监听了滑动事件 然后在滑动的时候判断滑动距离 做出透明度的渐变,这里有标题 和 一个RelativeLayout布局需要做处理,就这样处理了,这个标题布局是事先写在XML中的一个布局。这样更加灵活控制。