0

我在一个屏幕上有 4 个图像。我正在尝试将位图叠加在原始图像之上。下面是代码:

@Override
    public boolean onTouch(View view, MotionEvent event) {
    if (drawIt) {
        drawIt = false;
        view.buildDrawingCache();
        bmpOrignal = view.getDrawingCache();
        bmpGradient = getGradient();
        bmpOverlay = overlay(bmpOrignal, bmpGradient);
        x_limit = view.getLeft() + bmpOrignal.getWidth();
        y_limit = view.getTop() + bmpOrignal.getHeight();
    }

    if (event.getX() > x_limit || event.getY() > y_limit) {

        ((ImageView)view).setImageBitmap(bmpOrignal);
    } else {

        ((ImageView)view).setImageBitmap(bmpOverlay);
    }

    if (event.getAction() == MotionEvent.ACTION_CANCEL) {
        drawIt = false;

        if (event.getX() > x_limit || event.getY() > y_limit) {

        ((ImageView)view).setImageBitmap(bmpOrignal);
        } else {

        ((ImageView)view).setImageBitmap(bmpOrignal);
        }
    }

    if (event.getAction() == MotionEvent.ACTION_UP) {
        drawIt = true;

        if (event.getX() > x_limit || event.getY() > y_limit) {

        ((ImageView)view).setImageBitmap(bmpOrignal);
        } else {

        ((ImageView)view).setImageBitmap(bmpOrignal);
        }
        actionUp(view, event);
    }
    return false;
    }

现在,当我触摸第一张图像时,在 4 张图像中,在 ACTION_CANCEL 上,叠加效果将应用然后消失,这很好,但是当我尝试对第二张图像做同样的事情时,第一张图像的原始图像将适用于第二张图片。

为什么会发生这种情况,如何解决?

4

0 回答 0