解决ScrollView嵌套RecyclerView(横向)或ListView(横向)时,横向滑动不顺畅的问题。
来源:互联网 发布:java安装时出现错误 编辑:程序博客网 时间:2024/04/29 03:24
代码简单,容易理解,里面有点注释,够看了,特别少的改动。
package com.laka.live.ui.widget;import android.content.Context;import android.support.annotation.Nullable;import android.support.v7.widget.RecyclerView;import android.util.AttributeSet;import android.view.MotionEvent;/** * Created by Lyf on 2017/8/3. * 解决ScrollView与RecyclerView横向滚动时的事件冲突 */public class ScrollRecyclerView extends RecyclerView { public ScrollRecyclerView(Context context) { super(context); } public ScrollRecyclerView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public ScrollRecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } private float lastX, lastY; @Override public boolean onInterceptTouchEvent(MotionEvent e) { boolean intercept = super.onInterceptTouchEvent(e); switch (e.getAction()) { case MotionEvent.ACTION_DOWN: lastX = e.getX(); lastY = e.getY(); break; case MotionEvent.ACTION_MOVE: // 只要横向大于竖向,就拦截掉事件。 float slopX = Math.abs(e.getX() - lastX); float slopY = Math.abs(e.getY() - lastY); // Log.log("slopX=" + slopX + ", slopY=" + slopY); if( slopX >= slopY){ requestDisallowInterceptTouchEvent(true); intercept = true; } break; case MotionEvent.ACTION_UP: intercept = false; break; } // Log.log("intercept"+e.getAction()+"=" + intercept); return intercept; }}
备注:如果是ListView,直接将上面的RecyclerView类换成ListView就行了。
阅读全文
0 0
- 解决ScrollView嵌套RecyclerView(横向)或ListView(横向)时,横向滑动不顺畅的问题。
- 解决ScrollView嵌套横向、纵向ListView时出现的显示问题
- 横向滑动的 ScrollView
- 横向滑动的 ListView
- 横向滑动的listview
- 横向滑动的ListView
- 横向滑动的listview
- RecyclerView 横向的listview 直接解决你的自定义问题
- 关于scrollview中嵌套横向滑动控件时产生的体验不佳问题
- Scrollview嵌套HorizontalScrollView导致横向滑动卡顿现象解决
- 解决Android Listview横向滑动
- 解决Android Listview横向滑动
- 竖向ScrollView嵌套横向滑动布局冲突
- Recyclerview列表,item嵌套横向Gridview 解决滑动冲突,数据加载问题
- Android横向滑动的listview
- Android RecyclerView横向滑动
- 横向滑动的listview效果的实现方法,scrollview嵌套水平滑动的listview卡顿的解决方法
- ListView子条目横向滑动&&ViewPager嵌套
- Android Butterknife 8.4.0 使用方法总结
- C-C++中const关键字的用法及其与宏常量的比较
- [UVa 1572] 自组合(Self-Assembly)
- 170803 逆向-RouterScan(7)
- 在spring,hibernate,struts2框架整合中出现的no session问题
- 解决ScrollView嵌套RecyclerView(横向)或ListView(横向)时,横向滑动不顺畅的问题。
- 高精加、乘
- POJ3468 A Simple Problem with Integers (树状数组 | 线段树)
- Android Studio:Preference/Settings :Plugins:Icon Creator
- 扩增子分析QIIME2. 7 实验设计和统计结果元数据Metadata
- LaTeX制作PPT实例
- java String 中 intern方法的概念
- 居中布局:水平居中 + 垂直居中 + 水平垂直居中
- Linux 内核的I2C设备