监听滑动事件和消除与内嵌recyclerview冲突的Scrollview
来源:互联网 发布:linux 开源日志服务器 编辑:程序博客网 时间:2024/06/15 20:39
Programming can make computer do what you want them to do!
Ps:srollview默认是没有暴露出onscrollChanged()方法的,所以要写一个ScrollViewListener接口把该方法暴露出来
public class ObservableScrollView extends ScrollView { private int downX; private int downY; private int mTouchSlop; private ScrollViewListener scrollViewListener = null; public ObservableScrollView(Context context) { super(context); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();// } public ObservableScrollView(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();// } public ObservableScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();// } public void setScrollViewListener(ScrollViewListener scrollViewListener) { this.scrollViewListener = scrollViewListener; } @Override protected void onScrollChanged(int x, int y, int oldx, int oldy) { super.onScrollChanged(x, y, oldx, oldy); if (scrollViewListener != null) { scrollViewListener.onScrollChanged(this, x, y, oldx, oldy); } } public interface ScrollViewListener { void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { int action = ev.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: downX = (int) ev.getRawX(); downY = (int) ev.getRawY(); break; case MotionEvent.ACTION_MOVE: int moveY = (int) ev.getRawY(); if (Math.abs(moveY - downY) > mTouchSlop) { return true; } } return super.onInterceptTouchEvent(ev); }}
0 0
- 监听滑动事件和消除与内嵌recyclerview冲突的Scrollview
- 监听滑动事件和消除与内嵌recyclerview冲突的Scrollview(惯性消失问题解决)
- ScrollView 与 recyclerView、WebView的滑动冲突
- Android6.0 ScrollView与RecyclerView滑动冲突的问题
- 解决ScrollView和RecyclerView滑动冲突的一种方法
- 关于ScrollView和WebView滑动事件冲突的解决办法
- Android监听ScrollView控件的滑动起始和结束事件
- RecyclerView实现滑动和删除事件的监听方法
- ScrollView嵌套RecyclerView滑动冲突
- ScrollView 嵌套 Recyclerview 滑动冲突
- NestedScrollView 内嵌 RecyclerView 滑动监听问题
- ViewPager 与SwipeRefreshLayout,RecyclerView,ScrollView滑动冲突解决方法
- 条目有限的RecyclerView 与ScrollView滑动冲突解决(仅限条目有限)
- RecyclerView添加下拉加载以及和ScrollView的滑动冲突的解决
- ScrollView中事件监听和GestureDetector手势监听冲突
- AndroidUI系列--在DecorView层解决RecyclerView和ScrollView的滑动冲突
- 【Android手势冲突】彻底解决RecyclerView与ScrollView滑动冲突问题,并实现RecyclerView悬停导航栏
- scrollview嵌套listview产生的滑动冲突(recyclerview)
- XML总结
- 对于爬取 ajax 数据中获取的不合规定的 html 代码
- 庆祝首日开通技术博客
- Android屏幕适配攻略
- Material Design之TextInputLayout
- 监听滑动事件和消除与内嵌recyclerview冲突的Scrollview
- 试验篇——常见嵌入式WEB服务器
- APP推广应该做哪些事|干货分享
- Java 输入/输出流的详解
- 模仿微信标签功能的多行LinearLayout效果
- 关于R语言和社交网络分析的几篇文章
- 指哪打哪地进行编译工作
- 分布式进程
- 一个perl URLencode URLdecode的方法 (2009-07-22 15:47:36)转载▼