일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 안드로이드 바탕화면
- 안드로이드 개발 강좌
- 안드로이드2.0
- 안드로이드 개발
- 스마트폰 배경화면
- 안드로이드 2.0 개발
- 아이폰 배경화면
- 영어
- sky 시리우스폰
- 안드로이드 개발 2.0 강좌
- MapView
- android
- 안드로이드2.0개발
- 하루한마디영어
- SKY 시리우스
- 스카이 안드로이드폰 시리우스
- 인기있는 블로그 만들기
- Form Stuff
- 아이폰 바탕화면
- 구글안드로이드
- 구글 안드로이드
- 구글 안드로이드 개발
- 안드로이드개발
- 안드로이드
- 스카이 안드로이드폰 시리우스 K양 동영상
- 안드로이드폰
- 안드로이드 배경화면
- 안드로이드 개발 2.0
- objective-c
- 하루 한마디 영어
- Today
- Total
moozi
안드로이드 그래픽 터치이벤트 본문
package com.naver.combo2b_28;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyGraphic(this));
}
//inner class
private static class MyGraphic extends View {
int startX=-1, startY=-1, stopX=-1, stopY=-1;//시작,끝좌표 초기값
public MyGraphic(Context context){
super(context);
}
//터치이벤트처리
public boolean onTouchEvent(MotionEvent event){
switch (event.getAction()){
case MotionEvent.ACTION_DOWN: //터치시작
startX=(int)event.getX();
startY=(int)event.getY();
break;
case MotionEvent.ACTION_MOVE: //터치중이동
case MotionEvent.ACTION_UP://터치끝
stopX=(int)event.getX();
stopY=(int)event.getY();
this.invalidate();
break;
}
return true;
}
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
// Paint생성
Paint paint = new Paint();
paint.setAntiAlias(true);//테두리를 부드럽게.
paint.setStrokeWidth(5);//선두께
paint.setStyle(Paint.Style.STROKE);//색을 채우지 않음
paint.setColor(Color.RED);//색상설정
//선그리기
canvas.drawLine(startX, startY, stopX, stopY, paint);
//원그리기
int radius=(int)Math.sqrt(Math.pow(stopX-startX, 2)+Math.pow(stopY-startY,2));//반지름구하기
canvas.drawCircle(startX,startY,radius,paint);
}
}
}
'안드로이드개발강좌' 카테고리의 다른 글
카메라 기능 구현 (0) | 2017.05.17 |
---|---|
구글맵 (0) | 2017.05.01 |
안드로이드 그래픽 (0) | 2015.11.18 |
구글맵 마커 아이콘 red-dot (0) | 2015.11.17 |
genymotion gapp설치 (0) | 2015.11.12 |