|
package com.electric.chargingpile.view;
import android.content.Context;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.ViewPager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.ViewParent;
public class ViewChatHeaderRecyclerView extends RecyclerView {
private static final String TAG = "ViewChatHeaderRecyclerV";
private boolean interceptTouch = true;
public ViewChatHeaderRecyclerView(Context context) {
super(context);
}
public ViewChatHeaderRecyclerView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public ViewChatHeaderRecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
// interceptTouch 是自定义属性控制是否拦截事件
if (interceptTouch) { // 禁止ViewPager的滑动事件
ViewParent parent = this;
while (!((parent = parent.getParent()) instanceof ViewPager)) {
// nop
}
parent.requestDisallowInterceptTouchEvent(true);
}
return super.dispatchTouchEvent(ev);
}
}
|