그래픽 API 다루기

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

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

//그림을 그리려면 다음과 같이...
//원을 그립니다.
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()