ObservableScrollView滑动头部颜色从透明渐变成白色
ObservableScrollView,控制滑动距离来改变头部导航栏渐变颜色,Android上观察滚动的视图,可以监听滚动视图的滚动状态。它可以很简单地与Toolbar进行交互,并且很方便地创建Material Design的app,以下是我项目中所用到的,在此做个笔记,有需要的同学可以参考一下。
效果图如下:
1 xml文件中进行声明
<......ObservableScrollView android:id="@+id/main_scroll_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fadingEdge="none" android:scrollbars="none" >
包裹的控件。。。。。。。
</....ObservableScrollView>
2。 在java代码中声明并实现,ObservableScrollView的滑动滚动监听
scro = (ObservableScrollView) view.findViewById(R.id.main_scroll_view); scro.setScrollViewListener(this);
3. 根据滑动的得到的坐标来改变导航栏背景颜色
@Override public void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy) { if (y > 0 && y <= bannerLin.getHeight()) { float scale = (float) y / bannerLin.getHeight(); float alpha = (255 * scale);
//这里我项目中做了控件的显示隐藏 //searchRel.setVisibility(View.VISIBLE); //searchRels.setVisibility(View.GONE); //这里设置导航栏颜色值 只是layout背景透明(透明到白色)这里我的设置是从0,0,0,0到255,255,255,255 searchRel.setBackgroundColor(Color.argb((int) alpha, (int) alpha, (int) alpha, (int) alpha)); } else { searchRels.setVisibility(View.VISIBLE); searchRel.setVisibility(View.GONE); } Log.i("====","==========="+y); }
以上就是ObservableScrollView加头部滑动渐变的简单使用,用起来还是很简单的。