안드로이드에서 내 멋대로 그리기
개발을 하다보면 안드로이드에서 제공되는 고정된 위젯 외에 이미지나 글자 등을 내 멋대로 만들고 싶을때가 있습니다.
예를 들면 화면을 터치하서 움직이면 내 손가락을 따라오는 이미지 만들기, 손글씨 쓰기등 고정된 형태가 아니라 사용자의 요구에 따라 실시간으로 변경되어야 한다면 어떻게 해야 되는지 오늘 알아 보려고 합니다.
먼저 간단한 예제를 보도록 하겠습니다.
package com.tistory.jwandroid;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
public class SampleTestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyDrawTestView view = new MyDrawTestView(this);
setContentView(view);
}
protected class MyDrawTestView extends View {
public MyDrawTestView(Context context) {
super(context);
}
public void onDraw(Canvas _canvas) {
Paint _paint = new Paint();
_paint.setColor(Color.BLUE);
_canvas.drawColor(Color.WHITE);
_canvas.drawCircle(200, 200, 100, _paint);
_paint.setColor(0xFFFF00FF);
_canvas.drawText("글자 그리기", 200, 400, _paint);
Bitmap _bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
_canvas.drawBitmap(_bitmap, 100, 500, null);
Path _path = new Path();
_path.moveTo(400, 100);
_path.lineTo(450, 150);
_path.lineTo(100, 600);
_paint.setColor(Color.RED);
_canvas.drawPath(_path, _paint);
}
}
}
위의 코드를 살펴보시면 길이는 얼마 되지 않습니다. 하지만 빨갛게 염색된 녀석들있죠?
그 녀석들이 우리가 살펴볼 녀석들 입니다. 몇개 없죠?
이제 하나씩 살펴 보도록 하겠습니다.
♠ 참고 덧글
실제로 실무에 사용하실려면 추가적인 이론들이 필요합니다.
대표적인 예로 Thread(쓰레드), Event(이벤트)라는 녀석이 필요합니다. 빠른 시간안에 정리해서 올릴수 있도록 하겠습니다.
덧글]
개발하시다가 온몸이 찌뿌둥하시면 아래 동영상을 따라 스트레칭을 한번하세요.
1. 목디스크 예방을 위한 목운동 ☞ http://jwandroid.tistory.com/192
2. 손목터널증후군 손목스트레칭으로 예방합시다. ☞ http://jwandroid.tistory.com/193
3. 개발자 여러분 허리를 세우세요 - 척추체조 1번 ☞ http://jwandroid.tistory.com/194
4. 개발자 여러분 허리를 세우세요 - 척추체조 2번 ☞ http://jwandroid.tistory.com/195
5. 개발자 여러분 허리를 세우세요 - 척추체조 3번 ☞ http://jwandroid.tistory.com/196
6. 개발자 여러분 허리를 세우세요 - 척추체조 4번 ☞ http://jwandroid.tistory.com/197
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드/Android] 안드로이드 Bitmap (0) | 2012.05.17 |
---|---|
[안드로이드/Android] 안드로이드 Path (2) | 2012.05.17 |
[안드로이드/Android] 안드로이드 Paint (0) | 2012.05.17 |
[안드로이드/Android] 안드로이드 Canvas (2) | 2012.05.17 |
[안드로이드/Android] 안드로이드 ImageView (1) | 2012.05.15 |
[안드로이드 팁] 안드로이드 View 보임과 안보임, 없음의 차이 (0) | 2012.05.15 |
[안드로이드/Android] 안드로이드 버튼 (0) | 2012.05.14 |
[안드로이드/Android] 안드로이드 TextView (0) | 2012.05.14 |
[안드로이드/Android] INSTALL_FAILED_INSUFFICIENT_STORAGE (0) | 2012.05.11 |