This code draws a single color (with alpha) shape using a raster alpha channel.
Bitmap alphaMask = bitmap.extractAlpha();
Paint paint = new Paint();
int color = Color.GRAY;
...
paint.setColor(color);
paint.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.DST_IN));
...
canvas.drawBitmap(alphaMask, x, y, paint);
For example, he will take the left bitmap and draw it on the canvas, as shown on the right:

However, when hardware acceleration is turned on, it does not work on Honeycomb (Android 3.0). He paints the form as black, no matter what. It ignores the meaning of color. However, it works great on ICS (Android 4.0) with hardware acceleration.
I know that some APIs are not supported by hardware acceleration, since the Romain Guy described here under What painting operations are supported? , but it seems that I am not using any of those that are not supported.
, , , setColorFilter .
- , Honeycomb? ? .