////////////////////////// Vertex //

public class Vertex{
 Vertex(float ax, float ay, boolean ad) {
  x = ax;
  y = ay;
  Draw = ad;
 }
 float x;
 float y;
 boolean Draw;
}

 

 

아래소스는 맵에다가 그림을 그려주는데여;;

제가 만든 이미지를 이 클래스가 뜨면 넣고싶은데.....

동적으로 할수밖에없나여..? 주석처리된부분을 지우면 이미지가 나오긴하는데..

버튼도 여러가지 넣어야되서...그러는데;;

xml로 연결해서 사용하는법이 혹시 있나여..

 

xml로 <view class = "" 이런식으로 넣어서 했는데..

사용법을 모르겟어요;; 이렇게해서 뷰랑 연결되서 뷰가 생성되면 레이아웃에 설정한 이미지가 나오는지;;;

고수님들 좀 알려주세요^^

 

 


public class MapView extends View{
 Paint mPaint;
 float touchX=0;
 float touchY=0;
 boolean pDraw;
 boolean pWriteDraw;
 ArrayList<Vertex> arVertex;
 ArrayList<Vertex> deVertex;
 
 public MapView(Context context) {
  super(context);
  
  
  // paint class
  mPaint = new Paint();
  mPaint.setColor(Color.BLACK);
  mPaint.setStrokeWidth(3);
  mPaint.setAntiAlias(true);
  pDraw = false;
  pWriteDraw = false;
  
    }
 public MapView(Context context, AttributeSet attrs){
  super(context, attrs);
 }
 

 public void onDraw(Canvas canvas) {
  canvas.drawColor(Color.LTGRAY);
  Paint Pnt = new Paint();
  
  //Resources res = getResources();
  //BitmapDrawable bd = (BitmapDrawable)res.getDrawable(R.drawable.autocar);
  //Bitmap bit = bd.getBitmap();
  //Display defaultDisplay = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
  //
  //canvas.drawBitmap(bit, null, new Rect(0, 0,defaultDisplay.getWidth(), defaultDisplay.getHeight()-50), null);
   
  int verint = arVertex.size()-1;
  for (int i=0;i<arVertex.size();i++) {
    if (arVertex.get(i).Draw &&
      ((arVertex.get(verint).x >= 250 &&
      arVertex.get(verint).x <= 308) &&
      (arVertex.get(verint).y >= 2 &&
      arVertex.get(verint).y <=50))){
     canvas.drawLine(deVertex.get(i).x, deVertex.get(i).y,
       arVertex.get(i).x, arVertex.get(i).y, mPaint);
     pWriteDraw = false;
    }
  }  
 
  canvas.drawText("TOuchDOwn x = " + touchX+ "y="+touchY , 0, 20, mPaint);
 }

 public boolean onTouchEvent(MotionEvent event) {
  if (event.getAction() == MotionEvent.ACTION_DOWN) {
   if(!pDraw){
    deVertex.add(new Vertex((float)299, (float)395, false));
    deVertex.add(new Vertex((float)306, (float)20, false));
    
    //arVertex.add(new Vertex((float)0.0, (float)0.0, false));
    pDraw=true;
   }
   
   touchX=event.getX();
   touchY=event.getY();
   
   if(!pWriteDraw){
    
    arVertex.add(new Vertex(event.getX(), event.getY(), true));
    deVertex.add(new Vertex(event.getX(), event.getY(), true));
   
    
    pWriteDraw = true;
   }
   this.invalidate();
   return true;
   
  }
  return false;
 }
}