Android/Compose 14

[Compose][Image]맞춤 페인터 (Custom painter), 이미지 성능 최적화

맞춤 페인터 (Custom painter) Painter 객체그릴 수 있는 항목을 나타내고(Android에서 정의된 Drawable API의 대체 API) 객체를 사용하고 있는 컴포저블의 measure 또는 layout 과정에 영향을 미치는 데 사용됩니다. Painter는 지정된 경계 내에서 엄격하게 그려진다.cf) 컴포저블의 measure 또는 layout 과정에 영향을 주지 않는DrawModifier와 다릅니다.painterResource()를 사용하면 애셋에 맞는 올바른 페인터(예: BitmapPainter 또는 VectorPainter)가 반환됩니다. (둘의 차이점에 관한 자세한 내용은 ImageBitmap과 ImageVector 섹션을 참고)BitmapPainter는 ImageBitmap을 사용..

Android/Compose 2024.06.02

[Compose][Image] 이미지 커스터마이징

이미지 커스터마이징 (Customize an image ) `Image 컴포저블`의 속성인 `contentScale` , `colorFilter`들을 사용하여 맞춤설정할 수 있습니다. 위 속성은 Image 컴포저블의 Modifiers를 사용하여 적용가능함(`contentScale` 및 `colorFilter`는 Image 컴포저블의 명시적 매개변수)   1. `contentScale` 옵션 :  콘텐츠 크기 조정 이미지를 자르거나 경계 내에서 이미지의 크기가 조정되는 방식을 변경하는 옵션 (디폴트는 ContentScale.Fit)ex) Image 컴포저블은 테두리가 있는 150dp 크기로 제한되고 배경은 Image 컴포저블에서 노란색으로 설정val imageModifier = Modifier    .s..

Android/Compose 2024.06.02

[Compose][Image] 이미지 표시, ImageBitmap vs ImageVector, Material icons

이 포스팅은 공식문서 를 보고 이해한 내용을 정리 및 번역한 글입니다.     Jetpack Compose에서 이미지 나타내기 1. 기본 이미지 로딩Image 컴포저블 : 화면에 이미지 리소스를 표시함painterResource : painterResource는 이미지 리소스를 불러오기 위해 사용하는 함수이 함수는 리소스 ID를 받아 Painter 객체를 반환합니다. 이를 Image 컴포넌트에 전달하여 이미지를 화면에 표시할 수 있습니다.디스크에서 이미지(예: PNG, JPEG, WEBP) 또는 벡터 리소스를 로드하려면, 이미지 참조와 함께 painterResource API를 사용합니다. 이미지 리소스 유형을 알 필요는 없습니다. Image 또는 paint 수정자에서 painterResource를 사용..

Android/Compose 2024.06.02

Composables Lifecycle (컴포저블 수명 주기)

용어정리Composable - UI 구성 요소를 나타내는 함수 또는 어노테이션Composable 어노테이션 (@Composable) - Composable 함수를 표시하는 어노테이션 Composable 함수- Compose에서 UI 구성을 정의하고, UI 요소의 계층 구조를 형성하며, 화면에 표시되는 뷰를 생성하는 함수 - UI를 선언적으로 정의하는 Compose에서 사용되는 기본 단위- UI 요소를 생성하고, UI 상태를 나타내며, 사용자 입력 및 상호 작용에 응답하는 등의 작업을 수행한다.Composition- UI 구성 요소들이 결합되어 화면에 표시되는 것- Compose에서는 여러 'Composable 함수'가 조합되어 화면에 나타나는 UI 구조를 형성합니다. Composition은 'Compos..

Android/Compose 2024.05.06

Compose 기초 (Compose이해, Composable function, Recomposition)

이전편에 이어 다시보는Compose 란?Jetpack Compose는 Android를 위한 현대적인 선언형 UI 도구 키트사용자 인터페이스의 상태와 레이아웃을 설명하는 구조화된 데이터나 코드를 사용하여 UI를 정의 [동작] 처음부터 화면 전체를 개념적으로 생성한 후 -> 특정 시점에선 필요한 변경사항(UI의 어떤 부분을 다시 그려야 하는지)만 지능적으로 선택하여 화면을 재구성(=Recomposition)한다.[동작 구현] 구성 가능한 함수(=Composable 함수)를 '단순히 호출'하는 형태로 UI 렌더링 및 재구성  ex) `@Composable TextView()`를 호출  Composable function (= 구성 가능한 함수)  개인적으로 '구성 가능한 함수'라는 번역은 매번 부르기 어려워 ..

Android/Compose 2024.05.05

Compose 선행 개념 (#Compose란, #선언형UI, #명령형 UI)

Compose 란?Jetpack Compose는 Android를 위한 현대적인 선언형 UI 도구 키트Compose는 프런트엔드 뷰를 명령형으로 변형하지 않고도 앱 UI를 렌더링할 수 있게 하는 선언형 API를 제공하여 앱 UI를 더 쉽게 작성하고 유지관리할 수 있도록 지원한다.   자꾸 '선언형'이 언급되는데 이에 대해 알아보자!!👇 선언형 전에는 명령형 UI를 사용했었다,, 기존  '명령형? 프로그래밍 패러다임' (= Imperative programming paradigm)뷰 계층 구조는 UI 위젯의 트리 형태사용자 상호작용 등의 이유로 인해 앱의 상태가 변경되면, 현재 데이터를 표시하기 위해 UI 계층 구조를 업데이트해야 하는데 보통 아래처럼 뷰를 찾아 접근하여 위젯 내부 상태를 업데이트 시킨다 ..

Android/Compose 2024.05.05