안드로이드 개발 질문/답변
(글 수 45,052)
public class DrawGraph extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TestView tv = new TestView(this);
setContentView(tv);...
}
class TestView extends View
{
public TestView(Context context) {
super(context);
}
public void onDraw(Canvas canvas)
{
Paint p_red = new Paint(); //기준선의 색, X축, Y축
p_red.setColor(Color.RED);
Paint p_grn = new Paint(); //기준선의 색, X축, Y축
p_grn.setColor(Color.GREEN);
canvas.drawLine(x, 0, x, displayHeight, p_red);
canvas.drawLine(0, y, displayWidth, y, p_red);
canvas.drawCircle(x1, y1, 3f, p_grn);
}
public boolean onTouchEvent(MotionEvent event){
if (event.getAction() == MotionEvent.ACTION_DOWN) {
x = event.getX();
y = event.getY();
invalidate();
return true;
}
if (event.getAction() == MotionEvent.ACTION_UP) {
x1 = event.getX();
y1 = event.getY();
invalidate();
return true;
}
if (event.getAction() == MotionEvent.ACTION_MOVE) {
x = event.getX();
y = event.getY();
invalidate();
return true;
}
return false;
}
}
}
중간에 ... 으로 표현된것은 생략한거이구요,,
모션이벤트를 사용하여 크로스선이 드래그를 따라 이동하고 ACTION_UP할 때 그 위치에 점을 찍었습니다.
여기서 크로스선은 정확한 위치에 점을 찍기 위함이라 액션_업 했을 때 크로스 없어져야하는건 맞는데 기존에
찍어놓은 점도 사라져버리네요.. 물론,, invalidate()때문에 그렇다는건 알겠는데...
크로스는 액션_업 할 때 사라지고, 기존 점은 계속 남아있게하는 방법으로는 어떤방식이 좋을까요...;;;
점 5개를 찍은 후 이 점의 좌표값은 알고있어야하구요.



