2011-02-25 7 views
1

나는 안드로이드에 처음 익숙해졌지만 기본적으로 사용자가 이미지 뷰를 클릭 할 때 클릭하는 곳에서 점을 그릴 수 있도록 프로그램을 설정하려고합니다. 나는 여러 번 시도했지만 그냥 일을 얻을 수있을하지 않는 것, 그리고 도움은 지금까지 내가 당신은 아마 사용해야합니다,안드로이드 드로잉

package com.smallbore.smallbore; 

import android.app.Activity; 
import android.graphics.drawable.ShapeDrawable; 
import android.graphics.drawable.shapes.OvalShape; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.View; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class targetenter extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.targetenter); 
     ImageView v = (ImageView) findViewById(R.id.imageView1); 
     v.setOnTouchListener(new View.OnTouchListener() { 

      @Override 
      public boolean onTouch(View arg0, MotionEvent arg1) { 
       TextView t1 = (TextView) findViewById(R.id.textView2); 
       TextView t2 = (TextView) findViewById(R.id.textView3); 
       t1.setText("X: "+arg1.getX()); 
       t2.setText("Y: "+arg1.getY()); 
       int x = (int)arg1.getX(); 
        int y = (int)arg1.getY(); 
        int width = 50; 
        int height = 50; 

        ShapeDrawable mDrawable = new ShapeDrawable(new OvalShape()); 
        mDrawable.getPaint().setColor(0xff74AC23); 
        mDrawable.setBounds(x, y, x + width, y + height); 
        ImageView v = (ImageView) findViewById(R.id.imageView1) 
        v.setImageDrawable(mDrawable); 
        return false;  
    } 
      }); 
     }; 
    } 
+0

완료되었지만 이것이 필요한 것보다 상당히 멀다고 생각합니다. –

답변

1

는 점을 그리려면이 정도 appreciated.So 것 사용자 정의보기 및 onTouchEvent 및 onDraw 재정의. onTouchEvent는 터치 이벤트의 x, y 좌표를 제공하고 onDraw에서이 시점에서 프레임 워크가이 메소드에 제공하는 캔버스로 원을 그릴 수 있습니다. 이전 점을 지우려면 마지막 x, y 좌표 만 추적하면됩니다. 그렇지 않으면 실행 목록 (ArrayList 또는 이와 비슷한 항목)을 유지해야합니다.

신발에서 무료로 이미지 그리기 도구를 얻을 수 있도록 ImageView를 하위 클래스로 만들었을 것입니다. 오버 라이딩 된 onDraw 메서드 내에서 super.onDraw (canvas)를 호출 한 다음 점 (canvas.drawCircle)을 그립니다. http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/DrawPoints.html

당신은 단지 SampleView 처리 클릭 이벤트를 확인하고 SampleView.onDraw 방법에서 이미지를 표시 얻을 필요가 :

0

는 안드로이드 SDK는 꽤 좋은 예제를 포함하고 있습니다.