ObservableScrollView 实现粘性头部
来源:互联网 发布:雪梨cherie淘宝店铺 编辑:程序博客网 时间:2024/04/28 08:04
public class ObservableScrollView extends ScrollView { private Callbacks mCallbacks; public ObservableScrollView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); if (mCallbacks != null) { mCallbacks.onScrollChanged(t); } } @Override public boolean onTouchEvent(MotionEvent ev) { if (mCallbacks != null) { switch (ev.getActionMasked()) { case MotionEvent.ACTION_DOWN: mCallbacks.onDownMotionEvent(); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: mCallbacks.onUpOrCancelMotionEvent(); break; } } return super.onTouchEvent(ev); } @Override public int computeVerticalScrollRange() { return super.computeVerticalScrollRange(); } public void setCallbacks(Callbacks listener) { mCallbacks = listener; } public static interface Callbacks { public void onScrollChanged(int scrollY); public void onDownMotionEvent(); public void onUpOrCancelMotionEvent(); }}
设置scollview 属性
scrollView.setCallbacks(this);scrollView.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { onScrollChanged(scrollView.getScrollY()); } });实现callback 方法
@Overridepublic void onScrollChanged(int scrollY) { relayout_categary.setTranslationY(Math.max(viewPlaceHolder.getTop(), scrollY));}
0 0
- ObservableScrollView 实现粘性头部
- ObservableScrollView实现
- Android Recyclerview粘性头部 简单实现
- RecyclerView粘性头部控件
- ObservableScrollView
- SkittyHeader粘性浮动头部空间
- 简单粗暴实现RecycleView的瀑布流的粘性头部(非ItemDecoration实现)
- 简单粗暴实现RecycleView的瀑布流的粘性头部(非ItemDecoration实现)
- ObservableScrollView滑动头部颜色从透明渐变成白色
- RecyclerView粘性头部控件 - sticky-headers-recyclerview
- RecyclerView 悬浮/粘性头部——StickyHeaderDecoration
- ObservableScrollView+TabPageIndicator+fragment 实现顶部悬浮菜单效果
- StikkyHeader——为滚动视图添加粘性头部
- 使用sticky-headers-recyclerview 完成 recyclerview粘性头部
- Github学习之GooeyMenu实现粘性菜单
- 粘性动画以及果冻效果的实现
- QQ的粘性控件的实现原理
- WebView+EventBus粘性Post实现界面跳转
- [LeetCode 260] Single Number III 详解
- myeclipse 中如何更换 SVN账户
- 一起看代码来玩玩QT之23 audioRecord
- win7操作系统下,如何配置ubuntu 虚拟机使其能上网
- vim强大指令总结
- ObservableScrollView 实现粘性头部
- iosUI篇- 多控制器和导航控制器简单介绍
- Last_IO_Error: error connecting to master 'tl@192.168.199.151:3306'
- 判断两个MAC地址是否相邻
- hihocoder1014 : Trie树
- 横竖屏检测
- 调用notifyDataSetChanged无法更新ListView
- NSDate和NSString的相互转换
- php-fpm – 启动参数及重要配置详解