Android自定义视频录制时的带进度条的按钮

本文介绍如何在Android中实现一个点击开始/暂停的视频录制按钮,该按钮带有圆形进度条。博客提供了自定义View的代码,具备设置背景色、进度条颜色、图形颜色等功能,并通过接口回调处理不同事件。
摘要由CSDN通过智能技术生成

前言:由于项目的需要,在视频录制的时候需要点击开始的按钮带圆形进度条的功能,所以就看了网上的一些资料,基本都是长按仿微信的录制功能。

而我自己需要的是点击录制和点击的暂停,也不需要那么炫的效果,所以自定义了一个view,有需要的伙伴们可以看看,自定义厉害的大神们可以无视此博客

此view功能不算强大,但是原理简单,可以任意扩展,使用以及修改极其方便,而且注释很清晰明了

总之一句话,这个代码就是一眼看去完全懂了,你按照自己的需要想怎么改就怎么改!!


好了不废话了,直接上这个类的代码:

package com.deepblue.lanbuff.view;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;


/**
 * 自定义的圆形进度按钮 用于录制视频页面的开始和暂停功能
 * Created by meng on 2017/11/8.
 */
public class CircleButtonView extends View {
    private Paint mBigCirclePaint;//外圈进度的背景色
    private Paint mSmallCirclePaint;//内圈圆
    private Paint mProgressCirclePaint;//外圈进度的颜色
    private Paint mInnerSquarePaint;//内圈的正方形

    /**
     * 自定义使用的颜色资源id
     */
    private int mBigCircleColorId=0;//外圈进度的背景色
    private int mSmallCircleId=0;//内圈圆形的颜色
    private int mProgressCircleId=0;//外圈进度条的颜色
    private int mInnerSquareId=0;//内圈的正方形的颜色

    private int mHeight;//当前View的高
    private int mWidth;//当前View的宽
    private float mBigRadius;//外圈大圆的半径
    private float mSmallRadius;//内圈小圆的半径
    private boolean isRecording = false;//录制状态
    private float mCurrentProgress = 0;//当前进度

    private int maxTime = 120;//录制最大时间s
    private float mProgressW = 17f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值