import android.content.Context
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.RectF
import android.os.Handler
import android.os.Message
import com.gcssloop.view.CustomView
import java.util.Calendar
import java.util.Timer
import java.util.TimerTask
public class BiaoView extends CustomView {
Timer timer = new Timer()
public BiaoView(Context context) {
super(context)
timer.schedule(task, 1000, 1000)
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas)
Calendar calendar = Calendar.getInstance()
int s = calendar.get(Calendar.HOUR)
int f = calendar.get(Calendar.MINUTE)
int m = calendar.get(Calendar.SECOND)
System.out.println(s)
System.out.println(f)
System.out.println(m)
System.out.println("--------")
canvas.translate(mViewWidth / 2, mViewHeight / 2)
canvas.rotate(-90)
mDeafultPaint.setStrokeWidth(10)
mDeafultPaint.setColor(Color.BLUE)
canvas.drawCircle(0,0,450,mDeafultPaint)
mDeafultPaint.setColor(Color.BLACK)
canvas.drawCircle(0,400,20,mDeafultPaint)
canvas.drawCircle(0,-400,20,mDeafultPaint)
canvas.drawCircle(400,0,20,mDeafultPaint)
canvas.drawCircle(-400,0,20,mDeafultPaint)
RectF rect=new RectF(-400,-400,400,400)
float start=30f
for (int i = 0
canvas.drawArc(rect,start*i-0.5f,1f,true,mDeafultPaint)
}
mDeafultPaint.setColor(Color.BLUE)
canvas.drawCircle(0,0,380,mDeafultPaint)
mDeafultPaint.setColor(Color.BLACK)
mDeafultPaint.setStrokeWidth(20)
canvas.rotate(s*30+(f/2))
canvas.drawLine(-50, 0, 250, 0, mDeafultPaint)
canvas.rotate(-s*30-(f/2))
mDeafultPaint.setColor(Color.BLACK)
mDeafultPaint.setStrokeWidth(10)
canvas.rotate(f*6)
canvas.drawLine(-60,0,300,0,mDeafultPaint)
canvas.rotate(-f*6)
mDeafultPaint.setColor(Color.RED)
mDeafultPaint.setStrokeWidth(5)
canvas.rotate(m*6)
canvas.drawCircle(0,0,20,mDeafultPaint)
canvas.drawLine(-80,0,400,0,mDeafultPaint)
}
TimerTask task = new TimerTask() {
@Override
public void run() {
handler.sendEmptyMessage(1)
}
}
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg)
invalidate()
}
}
}
import android.content.Context;
import android.graphics.Paint;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.view.View;
public class CustomView extends View {
/**
* the context of current view
*/
protected Context mCurrentContext;
/**
* the width of current view.
*/
protected int mViewWidth;
/**
* the height of current view.
*/
protected int mViewHeight;
/**
* default Paint.
*/
protected Paint mDeafultPaint = new Paint();
/**
* default TextPaint
*/
protected TextPaint mDefaultTextPaint = new TextPaint();
public CustomView(Context context) {
this(context, null);
}
public CustomView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public CustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.mCurrentContext = context;
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mViewWidth = w;
mViewHeight = h;
}
}