Android Circular Gradient Alpha Máscara

¿Hay una manera de dibujar una máscara de degradado circular en un mapa de bits en Android? Tratando de producir algo similar a una ventana de niebla. Haga clic en la ventana y un círculo transparente se muestra revelando lo que hay detrás de la ventana. Utilizando preferentemente un gradiente para que el centro del círculo sea completamente transparente y cuanto más lejos del centro, el menos transparente. es posible?

Soy nuevo en Android para que cualquier muestra de código sea apreciada.

Gracias.

private void drawFoggyWindowWithTransparentCircle(Canvas canvas, float circleX, float circleY, float radius) { // Get the "foggy window" bitmap BitmapDrawable foggyWindow = (BitmapDrawable) getResources().getDrawable(R.drawable.foggy_window); Bitmap foggyWindowBmp = foggyWindow.getBitmap(); // Create a temporary bitmap Bitmap tempBitmap = Bitmap.createBitmap( foggyWindowBmp.getWidth(), foggyWindowBmp.getHeight(), Bitmap.Config.ARGB_8888); Canvas tempCanvas = new Canvas(tempBitmap); // Copy foggyWindowBmp into tempBitmap tempCanvas.drawBitmap(foggyWindowBmp, 0, 0, null); // Create a radial gradient RadialGradient gradient = new android.graphics.RadialGradient( circleX, circleY, radius, 0xFF000000, 0x00000000, android.graphics.Shader.TileMode.CLAMP); // Draw transparent circle into tempBitmap Paint p = new Paint(); p.setShader(gradient); p.setColor(0xFF000000); p.setXfermode(new PorterDuffXfermode(Mode.DST_OUT)); tempCanvas.drawCircle(circleX, circleY, radius, p); // Draw tempBitmap onto the screen (over what's already there) canvas.drawBitmap(tempBitmap, 0, 0, null); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.