- 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()