android倒计时 是在原有TextView的基础上进行二次开发的自定义View
效果图
这个主要是结合了android的CountDownTimer,这个一般就是发送短信的倒计时。
包含功能
倒计时时间超过一个小时显示 时:分:秒
时间小于一小时显示:分 :秒:毫秒
支持时间带有边框
实现思路
倒计时实现上可以通过Android的CountDownTimer进行时间上的倒计时功能
倒计时要有背景框,实现思路上有3个TextView设置,这个比较麻烦对于CountDownTimer回调回来的时间需要切割,怪麻烦的,还有一种就是 设计整个一个TextView,在TextView的onDraw()方法中,对它进行二次绘制,这样就可以了
这里采用对就是一个TextView,对它的onDraw()进行二次绘制。
直接上代码
package xx.xx.xx.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.CountDownTimer;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.annotation.Nullable;
import android.support.v7.widget.AppCompatTextView;
import android.util.AttributeSet;
import xx.xx.xx.R;
/**
* Created by odvl on 2016/12/5.
*/
public class CountDownTimeTextView extends AppCompatTextView {
private static final String SPLIT = " : ";
private static final String BLANK = " ";
private static final int RADIUS = 4;
static final long MS_IN_A_DAY = 1000 * 60 * 60 * 24;
static final long MS_IN_AN_HOUR = 1000 * 60 * 60;
static final long MS_IN_A_MINUTE = 1000 * 60;
static final long MS_IN_A_SECOND = 1000;
public static final String DEFAULT_TIME