Android圆形渐变阿尔法面具

有没有办法在Android中的位图上绘制圆形渐变蒙版? 试图产生类似于一个模糊的窗口。 点击窗口,显示一个透明的圆圈,显示窗口后面的内容。 最好使用一个渐变,使圆的中心是完全透明的,离中心越远越不透明。 这可能吗?

我是Android的新手,所以任何代码示例将不胜感激。

谢谢。

Related of "Android圆形渐变阿尔法面具"

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); }