------

[ AD ] Port Monitor ( Try to use a Best WebSite Monitoring Tool )

------
        setContentView(new ClockView(this) ) ;//R.layout.main);
        
    }
    
    protected class ClockView extends View {
    	Canvas mCanvas;
    	private Bitmap mClock;
    	private Bitmap mPin[] = new Bitmap[3];
		public ClockView(Context context) {
			super(context);
			// TODO Auto-generated constructor stub
			mHandler.sendEmptyMessageDelayed(0, 1000);
		}
		Handler mHandler = new Handler() {

			@Override
			public void handleMessage(Message msg) {
				// TODO Auto-generated method stub
				//super.handleMessage(msg);
				drawClock(mCanvas);
				invalidate();
				mHandler.sendEmptyMessageDelayed(0, 1000);
			}
			
		};
		@Override
		protected void onDraw(Canvas canvas) {
			// TODO Auto-generated method stub
			//super.onDraw(canvas);
			mCanvas = canvas;
			
			mClock = 
				BitmapFactory.decodeResource(this.getResources(), R.drawable.dial);
			
			mPin[0] = 
				BitmapFactory.decodeResource(this.getResources(), R.drawable.pin_1);
			mPin[1] = 
				BitmapFactory.decodeResource(this.getResources(), R.drawable.pin_2);
			mPin[2] = 
				BitmapFactory.decodeResource(this.getResources(), R.drawable.pin_3);
			
			drawClock(canvas);
		}
		private void drawClock(Canvas canvas) {
			// TODO Auto-generated method stub
			
			GregorianCalendar mCalendar = 
				new GregorianCalendar();
			int hour = mCalendar.get(Calendar.HOUR);
			int min = mCalendar.get(Calendar.MINUTE);
			int sec = mCalendar.get(Calendar.SECOND);
			
			float rSec = sec *6 ; // 360도 / 60초 = 6도/초
			float rMin = min*6 + rSec/60; //
			float rHour = hour * 30 + rMin /12 ;
			
			int w = mClock.getWidth()/2; // 반폭
			int h = mClock.getHeight()/2;
			
			int w1=mPin[0].getWidth()/2;
			int h1=mPin[0].getHeight()-15;
			
			int cx = getWidth()/2;
			int cy = getHeight()/2;
			
			//canvas.drawBitmap(mClock, left, top, paint);
			canvas.drawBitmap(mClock, cx-w, cy-h, null);
			
			canvas.rotate(rHour,cx,cy);
			canvas.drawBitmap(mPin[2],cx-w1,cy-h1,null); //시침 맨아래
			
			canvas.rotate(rMin-rHour,cx,cy);
			canvas.drawBitmap(mPin[1],cx-w1,cy-h1,null);

			canvas.rotate(rSec-rMin,cx,cy);
			canvas.drawBitmap(mPin[0],cx-w1,cy-h1,null); //초침 맨위에
			
			
			canvas.rotate(-rSec,cx,cy);
			/*
			Paint paint = new Paint();
			paint.setColor(Color.WHITE);
			paint.setTextSize(30);
			canvas.rotate(-rSec,cx,cy);
			canvas.drawText(String.format("%2d:%2d:%d",hour,min,sec),
					cx-70, cy+w+50, paint);
					*/ 

		}

..

+ Recent posts