自定义view—透明模拟时钟显示
项目中要用到模拟时钟的显示,查了一些资料根据自己的需要进行了自定义view
思路:重写view,1.根据控件的宽高进行获取模拟时钟的半径大小。2.重写onDraw方法,将画布进行不同角度的旋转进行绘制表盘 圆心 刻度 指针
这里就直接上代码了
自定义的TimeClockView:
package com.eq.viewdemo;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Handler;
import android.os.Message;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.view.View;
import java.util.Calendar;
/**
* Created by pc on 2017/3/29.
*/
public class TimeClockView extends View {
private int width;
private int height;
private Paint mPaintLine;
private Paint mPaintCircle;
private Paint mPaintHour;
private Paint mPaintMinute;
private Paint mPaintSec;
private TextPaint mPaintText;
private Calendar mCalendar;
public static final int START_ONDRAW = 0X23;
//每隔一秒,在handler中调用一次重新绘制方法
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case START_ONDRAW:
mCalendar = Calendar.getInstance();
invalidate();//告诉UI主线程重新绘制
handler.sendEmptyMessageDelayed(START_ONDRAW, 1000);
break;
default:
break;
}
}
};
public TimeClockView(Context context) {
super(context);
}