我在一个屏幕上有 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 上,叠加效果将应用然后消失,这很好,但是当我尝试对第二张图像做同样的事情时,第一张图像的原始图像将适用于第二张图片。
为什么会发生这种情况,如何解决?