그래픽 API 다루기

Kotlin Android DEVELOPMENT IT
  • Canvas : 도화지 (뷰의 표면ㄴ)
  • Paint : 붓 (색, 굵기, 스타일 정의

먼저 커스텀 뷰에 onDraw 메서드를 오버라이드 해서 Canvas 객체를 받는다.
여기서 원하는 그림을 그리면 된다.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//그림을 그리려면 다음과 같이...
//원을 그립니다.
drawCircle(cx: Float, cy: Float, radius: Float, paint: Paint!) :
//cx : x 좌표
//cy : y 좌표
//radius : 반지름
//paint : Paint 객체
  
//선을 그립니다.
drawLine(staryX: Float, startY: Float, stopX: Float, stopY: Float, paint: Paint!) :
//startX : 한 점의 x 좌표
//startY : 한 점의 y 좌표
//stopX : 다른 점의 x 좌표
//stopY : 다름 점의 y 좌표
//paint : Paint 객체
 
class TiltView(context: Context?) : View(context) {
        private val greenPaint: Paint = Paint()
    private val blackPaint: Paint = Paint()
 
    init {
        //녹색 페인트
        greenPaint.color = Color.GREEN
 
        //검은색 테두리 페인트
        blackPaint.style = Paint.Style.STROKE
    }
 
    override fun onDraw(canvas: Canvas?) {
 
        super.onDraw(canvas)
    }
 
}
 
//Paint객체의 color 및 style 을 변경할 수 있따.
//color 프로퍼티의 기본값은 검은색이며 색을 변경하려면 Color클래스에 선언된 색상들을 지정한다.
//style 프로퍼티는 다음 속성 중에서 하나를 선택한다.
// - FILL : 색을 채운다. 획 관련된 설정을 무시한다.
// - FILL_AND_STROKE : 획과 관련된 설정을 유지하면서 색을 채운다.
// - STROKE : 획 관련 설정을 유지하여 외곽선만 그린다.
//기본값은 FILL이며 여기서는 외곽선만 그리므로 STROKE를 설정.
 
 
// onDraw()를 다시 호출, 즉 뷰를 다시 그림
invalidate()