我在父卷轴视图中有多个recyclerview
在First Horizontal recyclerview中有一个imageview,On touch事件中有一个名为Image放大镜的类,
我想要做的是,当调用Imageview onTouch事件时,我想禁用父scollview。
我已尝试过自定义linearlayout并尝试嵌套滚动启用false,但它没有用,因为父scrollview ontouch和imageview onTouch以不同方式触发,两者同时发生碰撞。
这是我的自定义类代码:
public class ImageMagnifier extends ImageView {
private PointF zoomPos;
private boolean zooming = false;
private Matrix matrix;
private Paint paint;
private Bitmap bitmap;
private BitmapShader shader;
private int sizeOfMagnifier = 200;
public ImageMagnifier(Context context) {
super(context);
init();
}
public ImageMagnifier(Context context, AttributeSet attrs, int defStyleAttr)
{
super(context, attrs, defStyleAttr);
init();
}
public ImageMagnifier(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
zoomPos = new PointF(0, 0);
matrix = new Matrix();
paint = new Paint();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getAction();
zoomPos.x = event.getX();
zoomPos.y = event.getY();
switch (action) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
zooming = true;
this.invalidate();
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_CANCEL:
zooming = false;
this.invalidate();
break;
default:
break;
}
return true;
}
@Override
protected void onDraw(Canvas canvas) {....}
}
我从适配器xml调用它:
<kalpcorporate.zimpia.all_library.ImageMagnifier
android:id="@+id/img_productMangnifier"
android:layout_width="match_parent"
android:layout_height="@dimen/_200sdp"
android:clickable="true"
android:src="@drawable/main_product_pic_1" />
提前感谢您的帮助。
编辑:我甚至尝试过recycleler_view_product.addOnItemTouchListener,但它还没有打电话。