이번 글에서 다룰 내용 이번 글에서는 drawCircle 사용법에 대해 다룬다. drawCircle 또한 Color을 사용하는 drawCircle 함수와 Brush를 사용하는 drawCircle이 있는데, Brush 사용법은 이전 글 drawRect에서 다룬 것과 동일하므로 Color을 사용하는 drawCircle만 다루도록 한다. drawCircle 함수 살펴보기 drawCircle은 color, radius, center, alpha, style, colorFilter, blendMode를 파라미터로 받는다. fun drawCircle( color: Color, radius: Float = size.minDimension / 2.0f, center: Offset = this.center, /*@Flo..
분류 전체보기
이번 글에서 다룰 내용 drawRect를 사용하면 직사각형만을 만들 수 있다. 라운드 처리는 안드로이드 UI에서 매우 중요한 요소이므로, Canvas에서는 라운딩 처리된 사각형을 만드는 drawRoundRect 함수를 제공한다. 이번 글에서는 이에 대해 알아보도록 한다. drawRoundRect 함수 살펴보기 fun drawRoundRect( color: Color, topLeft: Offset = Offset.Zero, size: Size = this.size.offsetSize(topLeft), cornerRadius: CornerRadius = CornerRadius.Zero, style: DrawStyle = Fill, /*@FloatRange(from = 0.0, to = 1.0)*/ alph..
이번 글에서 다룰 내용 이번 글에서는 Canvas의 drawRect를 사용해 사각형을 그리는 방법에 대해 깊게 다룬다. 두가지 함수가 지원되는 drawRect와 drawRect의 각 파라미터가 어떤 역할을 하는지 알아본다. Color 객체를 사용하는 drawRect함수 먼저 Color 객체를 사용하는 drawRect함수부터 살펴본다. fun drawRect( color: Color, topLeft: Offset = Offset.Zero, size: Size = this.size.offsetSize(topLeft), /*@FloatRange(from = 0.0, to = 1.0)*/ alpha: Float = 1.0f, style: DrawStyle = Fill, colorFilter: ColorFilte..
Compose의 Canvas와 Native Canvas의 관계 Compose의 Canvas는 내부적으로는 xml에서 사용하던 Canvas와 같은 Canvas를 사용한다. 즉, Compose 또한 NativeCanvas를 사용한다. 우리가 Canvas에서 drawRect 등을 사용해 도형을 그리면, 해당 함수는 Native Canvas에서 drawRect를 통해 도형을 그리는 것과 같은 동작을 하는 것이다. Compose Canvas의 한계 Compose Canvas는 Composable로 제공되는 Canvas에서 제공되는 API만을 사용할 수 있기 때문에, 기존 xml 기반의 Canvas에 비해 한정된 기능만을 제공한다. 이는 출시된지 얼마 되지 않은 Compose의 한계로, Compose에서는 종종 이..
clickable에서 클릭 효과 제거가 필요한 이유 clickable에서 다양한 클릭 효과를 만드는 것 또한 중요하지만, 클릭 효과를 제거하는 것도 종종 필요하다. 예를 들어 뒤로 가기 버튼을 눌렀을 때 클릭 효과가 없이 뒤로 가기가 되었으면 한다던가, 필터 버튼을 눌렀을 때 뒤에 클릭 효과가 생기지 않고 필터 버튼의 색상만 변해야 한다던가 하는 요구사항이 있을 수 있다. Compose의 clickable은 기본적으로 클릭 효과를 가지고 있기 때문에, 이러한 요구사항을 맞추기 위해서는 click 효과를 제거하는 것이 필요하다. clickable에서 클릭 효과 제거하기 clickable에서 클릭 효과를 제거하기 위해서는 파라미터가 6개인 clickable 함수를 사용해야 한다. fun Modifier.cl..