300x250

이 글은 android.View 클래스 학습을 위해

아래 레파지토리 Google Samples / mlKit을 활용하였습니다.

 

mlkit/android/material-showcase at master · googlesamples/mlkit · GitHub

 

googlesamples/mlkit

A collection of sample apps to demonstrate how to use Google's ML Kit APIs on Android and iOS - googlesamples/mlkit

github.com

material-showcase



출처: https://ckstmsla.tistory.com/entry/Android-View-GraphicOverlay-01-클래스-다이어그램 [찬스님의 안드로이드, 웹 기록장]

 

목표 :

ML Kit 프로젝트의 GraphicOverlay ( 이하 관련 클래스 포함 ) 를 분석하여

사용자 정의 뷰를 그리는 방법과 구현 흐름을 익힌다.

 

java.lang.Object
	android.view.View

 

 

무엇을 준비해야 할까? 


처음에 android.view.View 클래스를 구현하는 클래스를 정의한다.

이 View 클래스는 Button이나 EditText와 같은 위젯의 뷰 클래스 최상위이다.

( 물론 Object 클래스가 더 상위에 위치 하지만 뷰 관련 클래스 한정 )

 

View 클래스의

여러 카테고리 요소 중 " Drawing " 에 해당하는 onDraw( android.graphics.Canvas ) 메서드를 오버라이딩한다.

뷰 카테고리

 

 

 

어디에 그려지는걸까 ?


onDraw( Cavans ) 메서드는 뷰의 위치와 크기가 정의된 뒤, 뷰가 콘텐츠를 렌더링 할 때 호출된다.

즉, 그려져야 할 때 호출된다. 

 

이 때, " 그려지는 곳 "을 알려준다.

그게 바로 Canvas 인스턴스이다.

 

 

무엇을 그릴지 ?


Canvas 인스턴스에 무엇을 그릴지 알려주면 된다.

 

Canvas를 통해 그릴 수 요소는 아래

Text, Verticle, RoundRect, Rect, Picture, Circle, Bitmap 등 다양하다.

 

여기서 android.graphics.Paint 클래스를 이용하여

위 요소들을 어떻게 그릴지에 대한 정보 ( 속성 )  Color, Style, Anti Aliasing, Alpha 등 을

설정할 수도 있다.

 

Paint 클래스 알아보기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

+ Recent posts