1.效果如下:
2.分别实现ScrollView和ListView以及RecylerView对应时候的透明度
1.首先我们来分析ScrollView如何来实现思路:
其实我们知道是改变Toolbar(自定义的布局)透明度,而且是更具滑动控件滑动的距离,所以问题
来了透明度是0-1,我们猜想可以获取滑动的高度,如何将滑动高度和透明度联系在一起呢?我们
可以设置根据屏幕高度和滑动的高度直接进行计算例如:
这里我我将屏幕的三分之一作为基数:只要屏幕滑动大于等于屏幕的三分之一那么就透明了。
if(scrollY<(screenHeight/3f)){ aphal=scrollY/(screenHeight/3f)}:
0<aphal<1
2.我们如何获取滑动的高度呢?
我们去看看ScrollView的源码发现:
protected void onScrollChanged(int l, int t, int oldl, int oldt)
然后在ScrollView重绘时候会不断调用赋值scrollY的。所以我们可以通过scrollView.getScrollY();
来获取高度
3.上代码:
1。你可以重写ScrollView也可以通过实例化后的ScrollView来通过内部类进行设置:
例如:
mScr.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
//如何选择那种方式,你看着那个顺眼就来
int scrollY=m