Compose에서 제공하는 여유공간 변수 compose에서는 Modifier에서 여유공간을 만들기 padding, offset을 지원한다. xml에서 자주 쓰였던 margin은 제공되지 않는다. padding : 자신을 기준으로 안쪽으로 얼만큼 공간을 비워놓을건지 결정하는 값. 자식 컴포넌트의 크기 측정값에 영향을 준다. offset : 자식 컴포넌트의 크기 측정값에 영향을 주지 않고 자식 컴포넌트를 x축 혹은 y축으로 얼만큼 이동할 것인지 결정하는 값 *margin을 쓰려고 한다면 Spacer(dp : Dp)을 대신 쓰는 것이 좋아보인다. 예제 환경 이 글에서는 padding과 offset을 직관적으로 이해하기 위해 아래 코드를 이용해 padding과 offset을 사용해본다. @Preview(show..
분류 전체보기
SpaceBetween, SpaceAround, SpaceEvenly 알아보기 Compose의 Row와 Column에서 Arrangement의 인자값으로 넘길 수 있는 SpaceBetween, SpaceAround, SpaceEvenly는 컴포넌트를 배치(Arrangement)할 때 매우 유용하게 사용할 수 있는 옵션이다. 기본적으로 Space~이 들어간 옵션은 모두 컴포넌트들간의 간격을 동일하게 맞춰준다. 하지만 그 각각의 내부 동작이 다른데 어떻게 다른지 아래에서 살펴보도록하자. SpaceBetween SpaceBetween은 아래 두가지 특징을 가진 컴포넌트이다. SpaceBetween은 컴포넌트들간의 간격을 동일하게 맞춰준다. SpaceBetween은 양쪽 끝 컴포넌트와 레이아웃의 간격을 0으로 ..
Id를 쓰지 않고 ConstraintLayout사용하기 앞선 글 [Android Compose Layout] 6. ConstraintLayout 정리 에서는 Id를 쓰지 않고 ConstraintLayoutScope 내에서 ConstrainedLayoutReference를 만들어서 사용했다. @Preview(showBackground = true, widthDp = 200, heightDp = 200) @Composable fun KotlinWorldConstraintLayout() { ConstraintLayout(modifier = Modifier.fillMaxSize()) { /* ConstraintLayoutScope 시작 */ val kotlinWorldText: ConstrainedLayoutR..
크기를 조절하는 Modifier 크기를 조절하기 위해서는 다음의 Modifier 구성요소들을 사용할 수 있다. 이 Modifier은 모든 Compose Component에 대해 사용 가능하다. Modifier.width(width: Dp) : 너비를 width.dp로 설정 Modifier.height(height: Dp) : 높이를 height.dp로 설정 Modifier.fillMaxWidth(fraction: Float = 1f) : 너비(가로) 전체 채우기, 기본은 모두 채우는 것(fraction = 1f)이며 전체 대비 채우는 비율을 설정하는 것도 가능 Modifier.fillMaxHeight(fraction: Float = 1f) : 높이(세로) 전체 채우기, 기본은 모두 채우는 것(fracti..
Row의 Alignment Row의 자식 View들은 수평으로 배치되므로 수직으로 정렬(horizontalAlignemnt)이 지원되는데 수직 정렬은 모든 자식 View들의 y위치가 동일하도록 만들어주는 정렬이다. 따라서 같은 x축 상에서 정렬된다(y값 동일하기 때문). Row에서 사용할 수 있는 Alignment의 종류 Row에서는 Alignment.Vertical을 상속받는 3가지 Alignment를 사용할 수 있다. Alignment.Top (위쪽 정렬) Alignment.CenterVertically (중앙 정렬) Alignment.Bottom (아래쪽 정렬) Alignment.Top Alignment.Top은 Row의 기본 Arrangement로 레이아웃의 위쪽에 모든 컴포넌트들이 정렬된다. @..