Android自定义扇形倒计时

本文介绍如何在Android中实现一个扇形倒计时动画,通过自定义View使用Canvas绘制。作者详细描述了从遇到问题、搜索资料到请教他人并最终实现的过程,提供了关键代码片段。
摘要由CSDN通过智能技术生成

一.概述

  • 严格来说,我是Android小白,写博客的目的只是想作为知识储备而已….但是想到别人或许会不小心搜到我的这篇博客,如果我只是简单的描述,别人有可能看不懂,说不定还被吐槽,那岂不是很冤吗?
  • 所以,我还是把问题及过程描述清楚,这也是对自己的一个交代,同时,这也是我的第一篇博客,我应该做好它;
  • 先说一下需求: 最近工作中需要做一个倒计时,是那种一个圆,慢慢的被吃掉的动画倒计时,由于自己知识不是很足,只知道要用Canvas来画,在网上搜了一圈,发现要么是静态的画了一个扇形,要么是不能控制控件的位置大小….总之,找了一圈感觉学了不少Canvas的知识,但是由于自己也是Android小白,所以并不能从中总结出我想要的那种动画的扇形倒计时(这里说一下,因为我是第一次用这玩意,对一些编辑不熟,所以就不上效果图了,但是这里的代码非常简单,需要的朋友可以直接拿过去运行一下看看是否是你需要的效果);
    最后我不得不请教我的一个朋友,现在他倒是也谈不上大神,但是比我厉害多了…..这里说白了我只是把他的逻辑更多的挪过来…好惭愧…因为我更多的只是想作为一个知识储备…

二.正文

  • 刚才也说到用到Canvas,所以我们先来自定义一个控件,直接继承View的自定义控件;
    SweepView.java:
public class SweepView extends View {
   
    private static final int DEFAULT_WIDTH = 100;
    private static final int DEFAULT_HEIGHT = 100;
    private int mWidth;     //这里并没卵用
    private int mHeight;    //这个也没卵用
    private RectF rectF;
    private Paint paint;
    private int mColor = Color.RED;//默认颜色为红色
    private float mSweep = 0;   //扇形角度

    public SweepView(Context context) {
        super(context);
        init();
    }



    public SweepView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值