이번에 안드로이드 입문한 안드로이드 늅입니다.

 

질문 하나드리겠습니다.

 

우선 그전에 소스 부터

 

public class sub_game extends Activity {
 
 ImageButton btnHome, btnRestart, btnNext;
 ViewFlipper vf;
 private DrawView vw;
 ArrayList<Vertex> arVertex;
 

 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
        
     vw = new DrawView(this);
     vw.setBackgroundDrawable(getWallpaper());
    
    
     setContentView(R.layout.sub_game);
    
    
     arVertex = new ArrayList<Vertex>();
    
    
     btnHome = (ImageButton) findViewById(R.id.imageButton1);
     btnRestart = (ImageButton) findViewById(R.id.imageButton2);
     btnNext = (ImageButton) findViewById(R.id.imageButton3);
     vf = (ViewFlipper) findViewById(R.id.viewFlipper1);
    
     btnRestart.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    
    Intent in = new Intent(getApplicationContext(), sub_game.class);
    startActivity(in);
    finish();
    
   }
  });
    
    
     btnHome.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
   
    Intent in = new Intent(getApplicationContext(), main.class);
    startActivity(in);
    finish();
   }
  });
    
     btnNext.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    
    vf.showNext();
    
   }
  });
    
     btnRestart.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
   
    
    
   }
  });
  
 
     // TODO Auto-generated method stub
 }
 
 
  public class Vertex{
   float x;
   float y;
   boolean draw;   
   public Vertex(float x, float y, boolean draw){
    this.x = x;
    this.y = y;
    this.draw = draw;
   }
  }
 
  protected class DrawView extends View{
   Paint mPaint;       
   
   public DrawView(Context context){
    super(context);
    

    mPaint = new Paint();
    mPaint.setColor(Color.RED);
    mPaint.setStrokeWidth(30);
    mPaint.setAntiAlias(true);    
   }
   

   @Override
   public boolean onTouchEvent(MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
     arVertex.add(new Vertex(event.getX(), event.getY(), false));
     break;
    case MotionEvent.ACTION_MOVE:
     arVertex.add(new Vertex(event.getX(), event.getY(), true));
    }
   
    invalidate();      
    return true;
   }
   

   @Override
   protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
  //  canvas.drawColor(Color.WHITE);      

    for(int i=0; i<arVertex.size(); i++){
     if(arVertex.get(i).draw){         
      canvas.drawLine(arVertex.get(i-1).x, arVertex.get(i-1).y,
        arVertex.get(i).x, arVertex.get(i).y, mPaint);
.
     }else{
      canvas.drawPoint(arVertex.get(i).x, arVertex.get(i).y, mPaint);

      }
    }
   }
  }

}

 

 

 

기본적인 제가 생각하는 방법이

 

뷰플리퍼로 그림을 표현하는데요

 

1번 그림을 불러들여서 그위에다가 펜 기능을 이용해서 그림을그리고

 

다음 버튼을 누르면 다음 사진이 나오고 그위에 다시 그림을 그리는 형식입니다.

(그림은 손가락이 따라가는대로 그려지는 펜타입이고요).

 

지금 위에처럼 하니까 문제가 뷰플리퍼와 버튼은 제대로 작동하는데 그림이 안그려지더라구요.

화면에 아무리 손가락을 그어봐도 아무런 반응이 일어나지 않습니다.

 

혹시 뷰플리퍼 위에 그림자체를 그리기 힘든건가요 ?

(제가 안드로이드 책보고 공부하면서 해보았지만 아직까진 경험의 부족으로 다른 방법을 생각해볼 지식이 없네요)

 

고수님들 조언좀 부탁드리겠습니다.

 

결론적으로 간단히 정리를 하자면

 

뷰플리퍼로 그림을 넘긴다 - 각각 그림마다 펜기능을 이용해서 그림을 그릴수 있다 - 페이지를 넘기면 그렸던 그림은 사라진다.

입니다.

 

다시한번 고수님들의 조언 부탁드립니다.