Android 镂空效果的遮罩层实现

本文介绍了如何在Android应用中创建带有镂空效果的遮罩层,详细阐述了实现过程,包括绘制半透明背景、圆形镂空以及结合提示文字图片的步骤,提供了具体的代码示例。
摘要由CSDN通过智能技术生成

要实现的效果是在当前页面上,显示半透明的遮罩层,在任意位置实现镂空的圆形,镂空的位置能看到下面的页面,镂空的位置跟随一张提示文字的图片,效果如下:

这里写图片描述

实现步骤:

  1. 绘制半透明的背景:
  2. 绘制圆形
  3. 绘制文字图片

    具体的实现代码如下:


1 绘制透明背景:

  /**
     * 创建遮罩层形状
     *
     * @return
     */
    private Bitmap makeSrcRect() {
        Bitmap bm = Bitmap.createBitmap(mScreenWidth, mScreenHeight, Bitmap.Config.ARGB_8888);
        Canvas canvcs = new Canvas(bm);
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        paint.setColor(Color.BLACK);
        canvcs.drawRect(new RectF(0, 0, mScreenWidth, mScreenHeight), paint);
        return bm;
    }

2 绘制镂空的圆形

/**
     * 创建镂空层圆形形状
     * @return
     */
    private Bitmap makeDstCircle() {
        Bitmap bm = Bitmap.createBitmap(mScreenWidth, mScreenHeight, Bitmap.Config.ARGB_8888);
        Canvas canvcs = new Canvas(bm);
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        paint.setColor(Color.WHITE);

        canvcs.drawCircle(mPiercedX, mPiercedY, mPiercedRadius, paint);
        return bm;
    }

3 绘制文字图片

/**
* 创建提示提示信息文字图片的bitmap
*
*

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值