compose

    [Compose] Navigation 정리 및 적용하기

    [Compose] Navigation 정리 및 적용하기

    Compose Navigation 정리 Navigation 구성요소 Navigation은 크게 3가지 구성요소로 이뤄진다. NavController: 대상(즉, 앱의 화면) 간 이동을 담당한다. NavGraph: 이동할 컴포저블 대상을 매핑을 담당 NavHost: NavGraph의 현재 대상을 표시하는 컨테이너 역할을 하는 컴포저블 NavController NavController는 Navigation 구성요소의 중심 API로, 스테이트풀(Stateful)이며 앱의 화면과 각 화면 상태를 구성하는 컴포저블의 백 스택을 추적한다. 컴포즈 환경에서 NavController는 rememberNavController()를 이용하여 가져올 수 있다. val navController = rememberNavCont..

    [Compose UI] 애니메이션 - 스프링 효과

    [Compose UI] 애니메이션 - 스프링 효과

    스프링 효과 안드로이드 애니메이션에서 제공하는 스프링은 시작과 끝 값 사이에 물리학적 값을 이용하여 애니메이션을 표현한다. 해당 애니메이션에 반영되는 값은 감쇠비와 강도이다. 감쇠비(damingRatio) : 스프링의 탄성 정도. 얼마나 빠르게 원래 상태로 돌아오는지의 정도를 나타낸다. 기본값은 Spring.DampingRatioNoBouncy 이다 강도(stiffness) : 스프링의 강도 정도. 스프링이 종료된 값으로 돌아오는 속도를 의미한다. 기본값은 Spring.StiffnessMedium 이다. Card내의 Column에 스프링 효과 적용하기 Column에 적용하는 Modifier의 animateContentSize 인자를 설정한다. spring 애니메이션을 animationSpec으로 설정하고..

    [Compose UI] IconButton

    [Compose UI] IconButton

    IconButton은 지정한 action을 수행하도록 할 수 있는 클릭가능한 아이콘이다. 사용자 접근성 가이드라인에 따라 IconButton의 최소 터치 아이콘 크기는 48x48dp 이다. 이 사이즈보다 작은 사이즈는 사용자 접근성을 저해한다고 판단하기에 해당 가이드라인을 준수하는 것이 좋다. 주의할 사항은 IconButton의 인자 중 하나인 content는 androidx.compose.material.icons.Icons의 아이콘을 사용하는 아이콘 이여야 한다. 만약 사용자 지정 아이콘을 사용하는 경우에는 내부 아이콘의 일반적인 크기는 24x24에가 된다. IconButton 함수 인자 onClick: () -> Unit, : 클릭 시 발생할 action modifier: Modifier = Mod..

    [Compose UI] LazyColumn (스크롤 가능한 Column)

    [Compose UI] LazyColumn (스크롤 가능한 Column)

    Jetpack Compose에서는 LazyColumn 컴포저블을 사용하여 스크롤 가능한 목록을 만들 수 있다. LazyColumn과 Column의 차이점은 Compose가 한 번에 모두 로드하므로 표시할 항목이 적은 경우 Column을 사용해야 한다는 것입니다. Column은 사전 정의된 또는 고정된 개수의 컴포저블만 보유할 수 있다. 하지만 LazyColumn은 콘텐츠를 추가할 수 있어 긴 목록의 경우 특히 목록의 길이를 알 수 없을 때 유용하게 사용할 수 있다. LazyColumn는 추가 코드 없이 기본적으로 스크롤도 제공하고 있다. 특히 LazyColumn은 화면에 보여지는 컴포저블만 추가하여 보여주는 방식이기에 많은 리스트를 보여줘야 하는 경우 최적화에 사용하기 용이하다. LazyColumn 함수..

    [Compose UI] Card

    [Compose UI] Card

    Card는 단일 주제에 대한 컨텐츠를 담고 있는 Surface이다. 즉 Composable function이다. Card의 파라미터 다양한 파라미터를 활용하여 Card를 확장 및 꾸밀 수 있다. onClick - callback to be called when the card is clicked modifier - Modifier to be applied to the layout of the card. enabled - Controls the enabled state of the card. When false, this card will not be clickable shape - Defines the card's shape as well its shadow. A shadow is only display..

    [Docker] 게으른 개발자를 위한 Docker Compose

    [Docker] 게으른 개발자를 위한 Docker Compose

    Overview Docker Compose 는 멀티 컨테이너 도커 어플리케이션을 정의하거나 동작시키기 위한 툴이다. 이 툴로 인해 개발용이성이 매우 향상되었다. docker 명령어를 사용하나 단일 도커 이미지를 생성하거나 단일 컨테이너를 동작시켰다. 둘 이상의 상호 연관된 컨테이너가 필요한 경우 docker run 명령어를 여러번 실행하여 환경을 구성하였다. 한번 구성한 환경을 지속적으로 사용한다면 모르겠지만, 설정이 변경되거나 다른 호스트 머신에서 구축이 필요한 경우 또 다시 docker run 명령(docker network 등 포함)을 다시 실행해야 한다. 얼마나 불편한가? 개발자는 게을러야 한다. 위 글귀는 갑작스럽겠지만, 위 문구가 docker compose와 잘 어울리는 글귀라고 생각해서 뜬금..