
Android Compose에서 keyboard가 노출되었는지 알 수 있는 방법은 과거 안드로이드 view 높이 변경으로 가능하다. 공식적인 안드로이드 11부터는 아래의 코드로 확인이 가능하지만 minSdk 버전 제약이 있으니 아직은 과거 형태를 공존시키는 게 좋다. Android 11부터 활용 가능 Compose에서도 특별히 keyboard 노출 정보를
Material Design은 크게 버전 2와 버전 3로 나눠지는데, 일반적으로 M2는 Material로 명시되어 있다. 안드로이드 12와 함께 나온 디자인이 머트리얼 3인데, 안드로이드 스튜디오에서 컴포즈 관련 새로운 프로젝트 생성 시에 함께 나오는 머트리얼 버전은 2이다.(안드로이드 스튜디오 패치 시 변경될 수 있다) 머트리얼 2와 3는 차이가 있다.
Android XML은 기본 Preview가 잘 나온다. 하지만 Compose는 Preview를 하기 위한 기법이 필요하다. Preview를 잘하기 위해서는 Primitive types 또는 class 객체를 넘겨준다. DI를 이용하는 경우 Preview가 힘들다. DI를 활용하는 경우라면 @Preview 함수 내에서 DI에서 만들어주는 객체를 manual
Android Compose에서는 어떠한 컴포넌트를 최상위로 두고 작업하는 것이 좋을까? 필자의 경우 Compose 시작점 코드는 아래와 같다. Theme를 기본으로 적용하고, 여기에 CompositionLocalProvider를 필요에 따라 추가로 활용하고 있다. 그런 다음 Scaffold를 활용해 Material을 따르는 기본 틀을 활용하고 있다. 이
Compose Navigation에서 WebView 활용 시 Recompistion이 발생한다. A Composable에서 WebView를 그린다. B Composable에서 Other Composable을 그린다. A에서 B로 navigate 했다가 다시 A로 돌아오는 경우 Recomposition이 발생한다.(당연하게도) Recomposition을 막을
Compose 함수는 어떠한 조건을 사용해 나누는 것이 좋을까? 고려하면 좋을 것은 무엇일까? 스크린으로 나눈다? 컴포넌트로 나눈다? 무조건 많이 나눈다? 답은 없지만 최소한 어떤 규칙을 가지고 나눌 수 있을지 고민하고 적용한 부분을 정리해 본다. 이 글에서 알아볼 내용 코드의 분리 관점을 무엇으로 볼지를 고민해 본 글이다. 글에 오류가 있을 수 있으니 참
Compose Theme는 어떻게 적용하고 활용할 수 있을까? Material Theme에 따라서 사용할까? 우리만의 디자인 시스템 색상 값과 필요한 정보를 포함하여 Custom theme 구성? 이런 고민은 한 번쯤? 해볼 수 있을 것 같다. 본 글은 GetStream의 후원으로 작성된 글로 다음의 내용을 다루어보려 한다. Material 3 사용하지 않