public class MNestedScrollView extends NestedScrollView {
private float xDistance, yDistance, xLast, yLast;
public MNestedScrollView(@NonNull Context context) {
super(context);
}
public MNestedScrollView(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public MNestedScrollView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
xDistance = yDistance = 0f;
xLast = ev.getX();
yLast = ev.getY();
break;
case MotionEvent.ACTION_MOVE:
final float curX = ev.getX();
final float curY = ev.getY();
xDistance += Math.abs(curX - xLast);
yDistance += Math.abs(curY - yLast);
xLast = curX;
yLast = curY;
if (xDistance > yDistance) {
// 返回true,表示当前控件要拦截事件,紧接着事件交给当前控件的onTouchEvent方法来处理。
// 返回默认/false,表示不拦截事件,事件最终继续往下分发。
return false;
}
}
return super.onInterceptTouchEvent(ev);
}
}
自定义NestedScrollView解决包裹ViewPager2滑动冲突问题。
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- iOS实际开发过程中有时会遇到自定义的滑杆不灵敏或者卡顿问题,造成原因是什么呢?1、组件本身问题 1)、首先确认是...
- 一、背景 最近在一个springmvc+mtbatis项目中配置自定义拦截器时发现了一些问题,主要就是由<mvc:...
- 有这样一个需求:RecyclerView嵌套WebView时,当WebView显示宽度超出手机屏幕宽度时,需要用手...
- scrollview里面嵌套了edittext,当输入文字行数过多,超出edittext高度需要滑动才能查看时,发...
- 在OC开发中,导航控制器是一个非常常见的控件,而且在不少使用时候,我们需要自定义导航条NavigationBar...