View에는 텍스트 뿐만 아니라 도형도 그릴수 있다. 먼저 도형을 그릴때 Paint를 사용 하는데 사용하는 프로퍼티의 종류는 아래와같다.
Paint의 프로퍼티 3개
Paint.color = 대상의 색상, 도형의 색상을 정의 - 색상이 Color클래스에 정의 되어 있음
Paint.style = 도형의 형태, 외곽선을 그리거나 면을 채우는 등의 모양을 정의함 - Style클래스에 사용할 스타일이 미리 정의 되어 있음 ( Style.STROKE / Style.FILL / Style.STROKE_AND_FILL )
Paint.strokeWidth = 외곽선을 그릴 경우 외곽선의 두께를 정의 함
View클래스에서 상속받은 후에 onDraw() 메서드로 전달되는 Canvas를 사용하면 원하는 그림을 그릴 수 있다.
버튼과 같은 태그로 사용하는 위젯들도 실제로는 View를 상속한 후에 이와 비슷한 형태의 코드로 구성된다.
drawCircle(cx, cy, radius, Paint) - 원 그리기
cx - x축 / cy - y축
drawCircle의 경우 좌표 값이 원의 중심이 되어 그려진다.
drawArc(x축,y축,반지름,페인트) - 원호 그리기
drawArc의 경우 좌표의 정보를 Paint처럼 RectF로 받아 그린다.
RectF.set(left, top, right, bottom) - 좌표와 크기 프로퍼티 4개
left - 도형의 시작점X / top - 도형의 시작점Y (선의 굵기와 같게 하면 도형이 잘리지 않는다.)
right - 도형의 가로 길이 / bottom - 도형의 세로 길이
drawArc(RectF, startAngle, sweepAngle, useCenter, Paint) - 프로퍼티
startAngle - 그려질 시작점(각도) / sweepAngle - startAngle부터 그려질 끝점(각도)
useCenter - 시작 점과 끝점이 만나지 않는다면 중앙을 가로 질러 이을지의 여부
drawRect(Rect, Paint) - 사각형 그리기
drawRect는 사각형을 Rect클래스에 좌표의 정보를 받아 사용한다.
Rect와 RectF는 사용방법이 같고 차이점은 Rect는 Int형태이고 RectF는 Float형태이다.
drawRoundRect(RectF, rx, ry, Paint) - 각 모서리에 라운드가 적용된 사각형
rx - 가로 라운드 크기 / ry - 세로 라운드 크기
라운드의 크기를 도형크기의 반 만큼 적용하면 원으로도 만들 수 있다.
번외 - 한번에 모아 테스트
'Android' 카테고리의 다른 글
[안드로이드] 코틀린 뷰(View) 용어 정리 (0) | 2021.12.01 |
---|---|
[안드로이드] 코틀린 커스텀위젯 만들기 (0) | 2021.12.01 |
[안드로이드] 코틀린 프래그먼트 생명 주기 (0) | 2021.11.29 |
[안드로이드] 코틀린 프레그먼트 연습 FragmentTest - ViewBinding (0) | 2021.11.29 |
[안드로이드] 코틀린 viewBinding - 코틀린 익스텐션 대체 (0) | 2021.11.25 |