我有一个框架布局,有两个重叠的位图作为图像视图和触摸,触摸的像素只应该变为透明。但是整个图像变得透明。
我确实引用了类似的链接 Making Overlaid image transparent on touch in Android? 但它没有任何帮助.touchEvent的代码如下。
@Override
public boolean onTouchEvent(MotionEventevent){
startX = (int)event . getX();
startY = (int)event . getY();
switch (event . getAction())
{
case MotionEvent . ACTION_DOWN:
return true;
case MotionEvent . ACTION_MOVE:
try
{
newOverlayBitmap = Bitmap . createBitmap(bmp . getWidth() , bmp . getHeight() , bmp . getConfig());
for (inti = 0; i < bmp . getWidth(); i++)
{
for (intj = 0; j < bmp . getHeight(); j++)
{
if (i == startX && j == startY)
{
p = bmp . getPixel(i, j);
r = Color . red(p);
g = Color . green(p);
b = Color . blue(p);
alpha = Color . alpha(p);
alpha = 256 - alpha;//alpha=1
newOverlayBitmap . setPixel(i, j, Color . argb(alpha, r, g, b));
}
}
}
img . setImageBitmap(newOverlayBitmap); //sets the changed overlay on the imageview
}
catch(Exceptione)
{
e . printStackTrace();
}
break;
case MotionEvent . ACTION_UP:
break;
default:
a = false;
}
a = true;
super . onTouchEvent(event);
return a;
}