Notice
Recent Posts
Recent Comments
올해는 머신러닝이다.
안드로이드:그림메모 소스.. 본문
미치겠다 봐도 모르겠다..1818181818..
=====================================
import java.util.*;
import android.app.*;
import android.content.*;
import android.graphics.*;
import android.os.*;
import android.view.*;
public class FreeLine extends Activity {
private MyView vw;
ArrayList<Vertex> arVertex;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
vw = new MyView(this);
setContentView(vw);
arVertex = new ArrayList<Vertex>();
}
// 정점 하나에 대한 정보를 가지는 클래스
public class Vertex {
Vertex(float ax, float ay, boolean ad) {
x = ax;
y = ay;
Draw = ad;
}
float x;
float y;
boolean Draw;
}
protected class MyView extends View {
Paint mPaint;
public MyView(Context context) {
super(context);
// Paint 객체 미리 초기화
mPaint = new Paint();
mPaint.setColor(Color.BLACK);
mPaint.setStrokeWidth(3);
mPaint.setAntiAlias(true);
}
public void onDraw(Canvas canvas) {
canvas.drawColor(0xffe0e0e0);
// 정점을 순회하면서 선분으로 잇는다.
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);
}
}
}
// 터치 이동시마다 정점들을 추가한다.
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
arVertex.add(new Vertex(event.getX(), event.getY(), false));
return true;
}
if (event.getAction() == MotionEvent.ACTION_MOVE) {
arVertex.add(new Vertex(event.getX(), event.getY(), true));
invalidate();
return true;
}
return false;
}
}
}
'Android > Tip&Tech' 카테고리의 다른 글
안드로이드로 사진찍어서 썸네일 이미지 가지고 오기..(중급) (0) | 2010.11.19 |
---|---|
안드로이드 개발 참고 사이트 모음입니다. (0) | 2010.11.19 |
[Android] startActivityForResult(), onActivityResult() 사용하기 [출처] [Android] startActivityForResult(), onActivityResult() 사용하기|작성자 소녕 (0) | 2010.11.13 |
안드로이드 DB인 SQLITE 정보 (0) | 2010.11.12 |
SQLite를 사용한 트리거 (Trigger) 의 이해 그리고 사용 방법 (0) | 2010.11.11 |