전체 글
-
[Android] kotlin-android-extensions deprecated안드로이드 2021. 8. 4. 11:59
개요 kotlin plugin extension이 deprecated 됐다. 그래서 다른 방법으로 처리를 해야한다. 안드로이드 개발자 사이트에 의하면 viewBinding을 통해 마이그레이션을 하라고 하고 있다. Gradle 수정 android > buildFeatures > viewBinding을 true로 설정해준다. android { ... buildFeatures { viewBinding = true } } 아래의 kotlin-android-extensions plugin 구문을 삭제해준다. plugins { kotlin("android.extensions") } 또는 plugins { id "kotlin-android-extensions" } 그리고 아래와 같이 kotlin-parcelize를 ..
-
[Android] Compose Lifecycle(안드로이드 개발자 사이트 번역)안드로이드 2021. 8. 3. 17:08
개요 Composable의 생명주기와 Recomposition이 필요한 Composable을 Compose가 어떻게 결정하는지 알아보자. Lifecycle State 관리에서 본것 처럼 Composition은 UI를 설명하고 Composable 실행에 의해 생성된다. Composition은 UI를 설명하는 Composable의 트리구조로 되어있다. Jetpacke Compose가 Composable들을 처음 실행할 때(Initial composition동안) Composition에서 UI를 설명하기 위해 호출하는 Composable을 추적한다. 그러고나서 앱의 State가 변경될때 Jetpack Compose는 Recomposition을 예약한다. Recomposition은 Jetpack Compose가..
-
[Android] Compose State 관리 - 2안드로이드 2021. 8. 2. 17:45
개요 Compose State 관리를 이전 포스팅에 이어 정리해보자. (안드로이드 개발자 사이트 참고) 2021.08.02 - [안드로이드] - [Android] Compose State 관리 - 1 [Android] Compose State 관리 - 1 State와 Composition Compose는 선언적이므로 Compose를 업데이트하는 유일한 방법은 새 파라메터로 동일한 Composable을 호출하는 것이다. 이 파라메터는 UI 상태를 나타난다. 상태가 업데이트될때마다 재 growup-lee.tistory.com ViewModel 과 State ViewModel은 UI 트리 위에 있는 Composable이나 Navigation 라이브러리의 도착지에 있는 Composable을 위해 권장하는 Sta..
-
[Android] Compose State 관리 - 1안드로이드 2021. 8. 2. 14:31
State와 Composition Compose는 선언적이므로 Compose를 업데이트하는 유일한 방법은 새 파라메터로 동일한 Composable을 호출하는 것이다. 이 파라메터는 UI 상태를 나타난다. 상태가 업데이트될때마다 재구성이 실행된다. 따라서 TextField와 같은 항목은 명령형 XML 기반 뷰에서 처럼 자동으로 업데이트 되지 않는다. Composable이 새 상태에 따라 업데이트되면서 새 상태를 명시적으로 알려줘야 한다. @Composable fun HelloContent() { Column(modifier = Modifier.padding(16.dp)) { Text( text = "Hello!", modifier = Modifier.padding(bottom = 8.dp), style =..
-
[Android] Compose 이해하기안드로이드 2021. 7. 30. 14:28
Compose란 Jetpack Compose는 Android를 위한 선언형 UI 도구 Kit이다. 앱 UI를 선언형 API를 제공하여 더 쉽게 작성하고 유지관리할 수 있도록 지원한다. 선언형 프로그래밍 패러다임 지금까지 Android의 뷰 계층구조는 UI 위젯의 트리로 표시할 수 있었다. 앱의 상태가 변경되어 현재 데이터를 변경하려면 findViewById()와 같은 함수로 트리를 탐색하고 setText, addChild, setImageBitmap등의 메소드를 호출하여 노드를 변경했다. View는 수동으로 조작하면 오류가 발생할 가능성이 높아진다. 데이터를 여러 위치에서 렌더링한다면 데이터를 표시하는 뷰 중 하나를 업데이트하는 것을 잊기 쉽다. 또 여러 뷰의 상태를 변경하다 보면 예기치 않은 crash..
-
[SwiftUI] VStack 사용 예제iOS 2021. 7. 29. 14:47
개요 VStack를 통해 수직으로 UI컴포넌트들을 배열해보자. VStack 수직으로 UI 컴포넌트들을 배열한다. 선언된 순서대로 위쪽부터 채워진다. alignment와 spacing을 설정할 수 있다. alignment는 center, leading, trailing 3가지를 설정할 수 있다. center : 가운데 정렬 leading: 좌측 정렬 trailing : 우측 정렬 spacing은 컴포넌트간 간격을 설정하는 속성이다. 예) struct ContentView: View { var body: some View { VStack(alignment: .center, spacing: 20, content: { Text("Hello, world!") .padding() CircleImageView() ...
-
[SwiftUI] ImageView에 Radius 적용(RoundedImageView)iOS 2021. 7. 29. 13:49
개요 ImageView에 cornerRadius를 적용하여 모서리가 둥근 ImageView를 만들어 보자. RoundedImage 구현 clipShape를 이용한 방법 아래 코드처럼 clipShape에 RoundedRectangle을 넣어 모서리가 둥근 ImageView를 만들 수 있다. struct RoundedImage: View { var body: some View { Image("dog") .clipShape(RoundedRectangle(cornerRadius: 100)) } } 위 코드의 Preview는 아래 사진과 같이 나온다. cornerRadius를 이용한 방법 cornerRadius를 직접 입력하여 모서리가 둥근 ImageView를 설정한다. struct RoundedImage: Vi..
-
[SwiftUI] Circle ImageView에 Border 넣기iOS 2021. 7. 29. 11:51
개요 이전 포스팅인 Circle ImageView에 Border를 넣어보자. 2021.07.29 - [iOS] - [SwiftUI] Circle ImageView [SwiftUI] Circle ImageView 개요 ImageView를 동그랗게 만들어보기로 한다. 파일 생성 아래와 같은 순서대로 SwiftUI 파일을 생성한다. 1. New File을 클릭한다. 2. User Interface -> SwiftUI View를 선택한 후 Next 버튼을 누른다. 3. 파.. growup-lee.tistory.com Border 넣기 아래와 같이 동그란 모양의 ImageView를 먼저 생성해준다. import SwiftUI struct CircleImageView: View { var body: some Vie..