Android Jetpack Compose/Compose Modifier

반응형

    [Android Compose Modifier] 7. padding과 border을 조합하여 중첩 테두리 만들기(Multiple Border)

    이번 글에서는 하나의 modifier에서 여러개의 border을 만드는 방법을 살펴본다. Modifier에 중첩 border만들기 하나의 Modifier에 여러개의 border을 적용시키는 방법은 간단하다. border사이에 padding을 주면 border을 여러개 중첩해서 만들 수 있다. *내부 로직은 너무 깊은 내용이므로 이 글에서 다루지 않는다. 자 바깥부터 5dp씩 파란색, 빨간색, 초록색 순서로 border을 만들어보자. border 사이에 padding을 주면 중첩해서 border을 만들 수 있다. @Preview(showBackground = true, widthDp = 200, heightDp = 200) @Composable fun KotlinWorldColor() { Column( m..

    [Android Compose Modifier] 6. border을 이용해 테두리 만들기

    border border은 border의 너비(width) 색상(color) 모양(shape)을 설정함으로써 설정 가능하다. fun Modifier.border(width: Dp, color: Color, shape: Shape = RectangleShape) = border(width, SolidColor(color), shape) border의 구성요소 width : 너비(dp) color :색상 shape :모양 네모 border만들기 예를 들어 아래와 같이 너비가 5dp이고 파란색 색상의 네모 모양 border을 만들어보자. width에 5.dp를 color에는 Color.Blue를 shape에는 RectangleShape을 넘김으로써 네모 모양 border을 만들 수 있다. @Preview(sh..

    [Android Compose Modifier] 5. Color에 alpha 적용해 투명도 설정하기

    alpha란? alpha란 불투명도를 설정하는 float값이다. alpha가 1에 가까워질수록 불투명해지며 0에 가까워질 수록 투명해진다. alpha = 1f : default값. 불투명 alpha = 0f : 완전 투명 alpha란 무엇인가를 한 눈에 이해하기 위해 아래 그림을 보자. 1f일때는 완전히 불투명한 반면, 0f에서는 완전히 투명(transparent)해졌다. 위 그림을 만든 코드는 아래 접어두었다. 이해를 위해 직관적으로 작성해두었으니 참고 바란다. 더보기 @Preview(showBackground = true, widthDp = 200, heightDp = 200) @Composable fun KotlinWorldAlpha() { Column { Box( Modifier .fillMaxW..

    [Android Compose Modifier] 4. Modifier.background에서 Brush 다루기 : 그라데이션 만들기

    background에 brush를 이용해서 그라데이션(Gradient) 만들기 그라데이션 처리는 아래 그림과 같이 여러개의 색을 섞어 그라데이션을 만드는 것을 뜻한다. Modifier에서는 파라미커로 Brush를 받을 수 있는 메서드가 있다. 우리는 이 Brush를 이용해 그라데이션을 만들 수 잇다. fun Modifier.background( brush: Brush, shape: Shape = RectangleShape, /*@FloatRange(from = 0.0, to = 1.0)*/ alpha: Float = 1.0f ) 이 메서드에서는 세개의 파라미터를 받는다 Brush : Gradient 방향 설정 Shape : 모양 설정 alpha : 투명도 설정 이전 글에서 Shape은 자세히 다뤘으므로 ..

    [Android Compose Modifier] Modifier 제대로 이해하기

    Modifier이란 무엇인가? Modifier이란 Compose의 UI 구성요소들을 꾸미거나 행동을 추가하기 위한 요소들의 모음이다. 따라서 이 글에서는 Modifier을 두 가지 분류로 나누고자 한다. UI 구성요소들을 꾸미기 위한 Modifier 행동을 추가하기 위한 Modifier UI 구성요소들을 꾸미기 위한 Modifier [Android Compose Modifier] 1. Modifier로 크기(너비, 높이) 조절하기 [Android Compose Modifier] 1. Modifier로 크기(너비, 높이) 조절하기 크기를 조절하는 Modifier 크기를 조절하기 위해서는 다음의 Modifier 구성요소들을 사용할 수 있다. 이 Modifier은 모든 Compose Component에 대해 ..

    [Android Compose Modifier] 3. Modifier.background로 배경색 설정하고 라운딩 처리하기

    Modifier.background 내부 살펴보기 Modifier.background에서는 두가지 방법으로 background를 설정하는 방법을 지원한다. color과 shape을 이용해 배경색과 모양 만들기 brush와 shape, alpha를 이용해 그라데이션 처리하기 이번 글에서는 color와 shape을 이용해 배경색과 모양을 만드는 방법을 살펴보고, 다음글에서 brush와 shape, alpha를 이용해 그라데이션 처리를 해볼 것이다. Color와 Shape을 이용해 배경색과 모양 만들기 Color와 Shape을 이용해 배경색과 모양을 만들기 위해서는 background(color: Color, shape: Shape)을 사용하면 된다. fun Modifier.background( color: ..

    [Android Compose Modifier] 2. padding, offset 이용하여 컴포넌트간 여유공간 만들기

    Compose에서 제공하는 여유공간 변수 compose에서는 Modifier에서 여유공간을 만들기 padding, offset을 지원한다. xml에서 자주 쓰였던 margin은 제공되지 않는다. padding : 자신을 기준으로 안쪽으로 얼만큼 공간을 비워놓을건지 결정하는 값. 자식 컴포넌트의 크기 측정값에 영향을 준다. offset : 자식 컴포넌트의 크기 측정값에 영향을 주지 않고 자식 컴포넌트를 x축 혹은 y축으로 얼만큼 이동할 것인지 결정하는 값 *margin을 쓰려고 한다면 Spacer(dp : Dp)을 대신 쓰는 것이 좋아보인다. 예제 환경 이 글에서는 padding과 offset을 직관적으로 이해하기 위해 아래 코드를 이용해 padding과 offset을 사용해본다. @Preview(show..

    [Android Compose] Arrangement의 SpaceBetween, SpaceAround, SpaceEvenly의 차이

    SpaceBetween, SpaceAround, SpaceEvenly 알아보기 Compose의 Row와 Column에서 Arrangement의 인자값으로 넘길 수 있는 SpaceBetween, SpaceAround, SpaceEvenly는 컴포넌트를 배치(Arrangement)할 때 매우 유용하게 사용할 수 있는 옵션이다. 기본적으로 Space~이 들어간 옵션은 모두 컴포넌트들간의 간격을 동일하게 맞춰준다. 하지만 그 각각의 내부 동작이 다른데 어떻게 다른지 아래에서 살펴보도록하자. SpaceBetween SpaceBetween은 아래 두가지 특징을 가진 컴포넌트이다. SpaceBetween은 컴포넌트들간의 간격을 동일하게 맞춰준다. SpaceBetween은 양쪽 끝 컴포넌트와 레이아웃의 간격을 0으로 ..

    [Android Compose Modifier] 1. Modifier로 크기(너비, 높이) 조절하기

    크기를 조절하는 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..

반응형