自定义一个很舒服的视频录制按钮

本文分享了如何根据需求自定义一个友好的视频录制按钮,通过分析思路、代码实现及动画变化,展示了从圆形变为圆角方形的过程,并强调理解自定义View、事件分发和动画知识的重要性。
摘要由CSDN通过智能技术生成

前言

最近开发了相机的相关功能,其中包括了视频的录制。当做好录制功能时,学长就要求要把录制的按钮改比较友好和美观点的,过后按照了提出的效果,然后自定义了这个录制按钮。今天分享给大家。

以下是效果图:
这里写图片描述

思路

它的实现不难,但对于需要练自定义View确实挺好的,下边是它的实现思路:

  • 先画一个外面的白色圆环
  • 画里边的圆角方形
  • 根据外界设置的宽高来计算外圆环的半径和圆角方形的边长
  • 最开始圆角方形的X、Y轴半径都设置为其边长的一半,这样就可以达到圆形的效果
  • 当是圆形时,点击后根据比率来计算它的XY轴半径,由边长的1/2变到边长的1/4,这样逐渐就可以变成一个圆角方形。同时对它的边长进行缩小。当半径为边长的1/2时,则圆角方形是呈现圆形的;当由1/2到1/4过渡时,它的圆角范围会越来越小。
  • 由圆角方形变回圆形是上面的逆过程。

代码分析

首先定义两个状态:

  /*正在录制中的状态*/
    public static final int STATE_RECORDING = 1;
    /*停止录制的状态*/
    public static final int STATE_STOPPING = 2;

定义圆角方形缩至最小是的边长比例和一些变量:

    //这里设置为0.4,可在实际中修改
    private final static float FINAL_SIZE_RATE = 0.4f;
    /*内圆角方形的边长*/
    private float mLength;
    /*内圆角方形的最后边长,最小为最开始的0.4*/
    private float mFinalLength;
    /*圆内角方形的开始边长*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值