package com.my;


import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;

public class Draw extends Activity
{
    /** Called when the activity is first created. */
 
 boolean isRunning = true;
 Button m_btn_start;
 Button m_btn_stop;
 
 int count = 0;
 int max_count = 12;
 Myview vw ;
 Button button;

 
 public void E(String str)
 {
  Log.e("sj", str);
 }
 
 public void D(String str)
 {
  Log.v("sj", str);
 }
 
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
       
        // ����
        //vw = new Myview(this);
        //setContentView(vw);
       
       
        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL);
        setContentView(layout);
      
        vw = new Myview(this);
        m_btn_start = new Button(this);
        m_btn_start.setText("start");
        m_btn_stop = new Button(this);
        m_btn_stop.setText("stop");
      
       
        layout.addView(vw, new LinearLayout.LayoutParams(600,600));
        layout.addView(m_btn_start, new LinearLayout.LayoutParams(100,60));
        layout.addView(m_btn_stop, new LinearLayout.LayoutParams(100,60));
       
       
       
       
       
       
        m_btn_start.setOnClickListener(new Button.OnClickListener()
  {
   @Override
   public void onClick(View arg0)
   {
    // TODO Auto-generated method stub
    D("start");
    isRunning = true;
   } 
  });
       
        m_btn_stop.setOnClickListener(new Button.OnClickListener()
  {
   @Override
   public void onClick(View arg0)
   {
    // TODO Auto-generated method stub
    D("stop");
    isRunning = false;
   } 
  });
       
       
       
        // �ڵ鷯
        mHandler.sendEmptyMessage( 0 );

       
    } // onCreate //
   
   
   
   
    Handler mHandler = new Handler()
    {
        public void handleMessage( Message msg )
        {
         max_count = 12;
         
         if(isRunning)
         {
          if(count == max_count)
           count = 0;
          else
           count++;
          D("Handler"+count);
         }
       
         
         
         vw.invalidate(); // �ٽñ׸���
         mHandler.sendEmptyMessageDelayed( 0 , 1);
        }   
    };

 
 protected class Myview extends View
 {
  
  public Myview(Context context)
  {
   super(context);
   
  }
  
  
  public void onDraw(Canvas canvas)
     {
      canvas.drawColor(Color.BLACK);
      Paint Pnt = new Paint();
      Pnt.setColor(Color.RED);
      
      D("onDraw");
      if(count==0)
      {
       canvas.drawCircle(250,25,20,Pnt); //1
      }
      if(count==1)
      {
       canvas.drawCircle(250,75,20,Pnt); //2
      }
      if(count==2)
      {
       canvas.drawCircle(250,125,20,Pnt); //3
      }
      if(count==3)
      {
       canvas.drawCircle(250,175,20,Pnt);//4
      }
      if(count==4)
      {
       canvas.drawCircle(250,225,20,Pnt);//5
      }
      if(count==5)
      {
       canvas.drawCircle(250,275,20,Pnt);//6
      }
      if(count==6)
      {
       canvas.drawCircle(250,325,20,Pnt);//7
      }
      if(count==7)
      {
       canvas.drawCircle(250,375,20,Pnt);//8
      }
      if(count==8)
      {
       canvas.drawCircle(250,425,20,Pnt);//8
      }
      if(count==9)
      {
       canvas.drawCircle(250,475,20,Pnt);//8
      }
      if(count==10)
      {
       canvas.drawCircle(250,525,20,Pnt);//8
      }
      if(count==11)
      {
       canvas.drawCircle(250,575,20,Pnt);//8
      }
      if(count==12)
      {
       canvas.drawCircle(250,625,20,Pnt);//8
      }
      
/*     
 
    canvas.drawCircle(250,25,20,Pnt); //1
    
      canvas.drawCircle(250,75,20,Pnt); //2
     
      canvas.drawCircle(250,125,20,Pnt); //3
     
      canvas.drawCircle(250,175,20,Pnt);//4
     
      canvas.drawCircle(250,225,20,Pnt);//5
     
      canvas.drawCircle(250,275,20,Pnt);//6
     
      canvas.drawCircle(250,325,20,Pnt);//7
     
      canvas.drawCircle(250,375,20,Pnt);//8
      
      canvas.drawCircle(250,425,20,Pnt);//9
     
      canvas.drawCircle(250,475,20,Pnt);//10
     
      canvas.drawCircle(250,525,20,Pnt);//11
     
      canvas.drawCircle(250,575,20,Pnt);//12

      canvas.drawCircle(250,625,20,Pnt);//13
//*/
     }      
  
 }

}

 

중앙지점에서 밑으로 LED처럼 1~ 12 번의 빨간 원을 생성합니다. [LED막대처럼]

 

현재 소스는 1번 켜고, 2번켜고, 3번켜고.....12번 켜고, 다시 1번으로 돌아가는 형태입니다.

 

이 켜지는 걸 빠르게 해서 동시에 켜진것처럼 보이고 싶은데..

 

현실은 1번 켜지고..2번켜지고 하는게 눈에 보여서 그냥 빨간 원이 떨어지는 것처럼 보입니다..

 

이 문제를 어떻게 해결해야 할까요...

 

좀 더 빠르게 빨간원을 그릴 방법이 없을까요?