레이아웃이 회색 전체 화면으로 자리잡고 터치로 선을그을 수 있는 간단한 그림판 소스입니다
 
버튼을 그림판 상에 던지 아니면 그림판 아래를 잘라내어 그밑에 위치시키던지 하고싶은데
 
잘 모르겠습니다 도와주세요 ㅠ
 
package my.app;
import java.util.ArrayList;
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.view.MotionEvent;
import android.view.View;
import android.widget.Button;
public class draw extends Activity {
 private MyView vw;
 private ArrayList<Vertex> lists;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  vw = new MyView(this);
  setContentView(vw);
  
  lists = new ArrayList<draw.Vertex>();
  
  Button btn = new Button(this);
  btn.setText("ok");
  
  
 }
 public class Vertex { // 찍힌 점에 좌표를 리스트에저장해주기 위한 클래스
  float x, y;
  boolean draw;
  public Vertex(float x, float y, boolean draw) { // draw 이동 여부값을 저장
   this.x = x;
   this.y = y;
   this.draw = draw;
  }
 }
 protected class MyView extends View {
  Paint paint; // 화면단 출력에 대한 기본적 정보를 저장하는 객체
  public MyView(Context context) {
   super(context);
   paint = new Paint();
   paint.setColor(Color.BLACK); // 선 색
   paint.setStrokeWidth(6); // 선에 두께
   paint.setAntiAlias(true); // 선을 부드럽게 처리
 
   
   
   
  }
  
  
  
  
  @Override
  // 프로그램 실행과 동시에 호출, 무효화에서 벗어나는 시점에 호출
  protected void onDraw(Canvas canvas) { // canvas 그림을 그리는 영역
   canvas.drawColor(0xffe0e0e0); // canvas의 색 지정
   
   
   
   // 정점을 순회 하면서 선을 그린다.
   for (int i = 1; i < lists.size(); i++) {
    if (lists.get(i).draw) {
     canvas.drawLine(lists.get(i - 1).x, lists.get(i - 1).y,
       lists.get(i).x, lists.get(i).y, paint);
    }
   }
  }
  @Override
  public boolean onTouchEvent(MotionEvent event) {
   // 터치 이동시쟁점을 추가  
   if (event.getAction() == MotionEvent.ACTION_DOWN) {
    lists.add(new Vertex(event.getX(), event.getY(), false));
    return true;
   }
   if (event.getAction() == MotionEvent.ACTION_MOVE) {
    lists.add(new Vertex(event.getX(), event.getY(), true));
    invalidate(); // 화면 갱신 메소드 호출 _ 작업영역에 무효화 = onDraw 호출
    return true;
   }
   if(event.getAction()==MotionEvent.EDGE_LEFT){
    lists = null;
   }
   return false; // 키보드에 대한 이벤트가 dwon이나 move가 아니면 화면상 변화가 없게 된다.
  }
 }
}