android中扫一扫功能实现,Android实现扫一扫功能之绘制指定区域透明区域

一、概述

在实现扫一扫的功能的时候,我们需要绘制一个中间为透明的扫码框,其余部分为半透明。通常情况下,例如微信或者支付宝的扫码框都是矩形的,如果中间的扫码框是一个矩形,那么布局是很简单的,可是如果扫码框是一个圆角矩形,或者圆形等情况怎么办呢?这篇文章主要是记录绘制一个中间透明带圆角的矩形。

按照惯例,我们先来看看效果图 :

80d66a98b4dfb55fed615b4c5022957a.png

二、按照流程我们就开始来看看代码啦

1、CustomDrawable,支持中间出现透明区域的drawable

package per.juan.scandome;

import android.graphics.Canvas;

import android.graphics.ColorFilter;

import android.graphics.Paint;

import android.graphics.Path;

import android.graphics.PorterDuff;

import android.graphics.PorterDuffXfermode;

import android.graphics.drawable.Drawable;

import android.support.annotation.NonNull;

import android.support.annotation.Nullable;

/**

* 支持中间出现透明区域的drawable

* 通过{@link #setSrcPath(Path)}设定透明区域的形状

* Created by juan on 2018/07/20.

*/

public class CustomDrawable extends Drawable {

private Paint srcPaint;

private Path srcPath = new Path();

private Drawable innerDrawable;

public CustomDrawable(D

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值