전체 글 153

[Compose] Component 알아보기 - BoxWithConstraints

BoxWithConstraints- 부모의 제약 조건을 기반으로 크기를 조정- 부모의 최대, 최소 크기의 정보를 제공 @Composablefun BoxWithConstraintsTest(modifier: Modifier = Modifier) { BoxWithConstraints( modifier = modifier ) { //box scope Text("maxW: $maxWidth minW: $minWidth") }} 선언된 BoxWithConstraintsTest를 사용해서 값을 modifier에 값을 넣어주면 전달된 값이 찍힌다 @Composablefun Greeting() { Column { BoxWithConstraintsTest(Modi..

카테고리 없음 2025.01.03

[Compose] Component 알아보기 - Box, Row, Column

Box Box 자체로 쓰거나 FrameLayout처럼 중첩시킬 때 사용된다 BoxScope내의 확장함수 2개 align, matchParentSize Modifier.alignBox(modifier = Modifier.size(100.dp)) { // Box Scope Box(modifier = Modifier.size(70.dp).background(Color.Black).align(Alignment.CenterStart)) Box(modifier = Modifier.size(70.dp).background(Color.Magenta).align(Alignment.BottomEnd))}  Modifier.matchParentSize()- 자식 컴포넌트 중 가장 큰 크기에 의해 결정- 두번째 b..

카테고리 없음 2025.01.03

[Compose] Component 알아보기 - Surface

surface : - 가장 기본적으로 UI를 구현하는 기반  elevation, border, shape, color 등 설정이 가능하다 contentColor를 설정하지 않으면 color에 따라서 contentColor가 자동으로 설정된다(contentColor가 설정되지 않았다면, 이 Surface는 배경 색상을 테마의 ColorScheme에 정의된 색상에 맞는 ContentColor를 반환한다. 예를 들어, 이 Surface의 색상이 ColorScheme.surface라면, contentColor는 ColorScheme.onSurface로 설정된다) Surface( modifier = Modifier.padding(10.dp), shadowElevation = 10.dp, ..

🤖 Compose 2025.01.03

[Compose] Component 알아보기 - Text, Button

Component들이 아직 손에 익지 않아서 테스트해보면서 몇가지만 기록해보려고 합니다  Text에서 색상, 폰트 크기, 폰트 굵기 변경 등 테스트해보겠습니다 가장 기본형태를 아래와 같다는 가정입니다 :) 커스텀하려면 parameter로 원하는 걸 추가하면 되는데 아직 손에 익지 않아서 하나씩 해보는 중입니다 Text( text = "Hello $name!", modifier = modifier) 폰트 컬러 변경 Text( color = Color(0xff0094ff), //혹은 color = Color.Green 의 형태도 가능 text = "Hello $name!", modifier = modifier)  폰트 크기 변경Text( color..

🤖 Compose 2025.01.01

[Compose] Compose 시작에 앞서

compose 구글에서 제공하던 캠프를 들은 적 있는데 다 까먹었어요그래서 다시 공부합니다.. 시작하기 앞서 간단하게 끄적여봅니다 기존에 사용하던 안드로이드 UI는 XML을 사용해 레이아웃을 정의하고, Java나 Kotlin 코드를 통해 UI를 조작하는 명령형 방식인데 이와 달리 Compose는 선언형 UI입니다  선언형 UI- 모든 컴포넌트가 상태를 가지고 각 컴포넌트는 자신의 상태를 기반으로 UI를 구성- 상태가 변경되면 해당 컴포넌트가 자동으로 다시 그려져 최신 상태를 반영 compose를 시작하기 전 잘 이해해야할 부분들을 체크해가며 공부해야할 거 같아요 - 상태 관리에 대한 이해 필요(remember, mutableStateOf, State 등) - 비동기 작업을 처리하는 방법에 대한 이해가 필요

🤖 Compose 2025.01.01

[Android] binding 즉시 업데이트 하기 executePendingBindings

executePendingBindings- 뷰에 수정된 사항을 즉시 업데이트 하는 함수로, 바인딩을 즉시 실행하는 느낌이라고 보면 될 거 같아요  public void executePendingBindings() { if (mContainingBinding == null) { executeBindingsInternal(); } else { mContainingBinding.executePendingBindings(); } }  recyclerview가 재활용될 때  ViewHolder가 이전 데이터의 상태를 유지하고, 새로운 데이터가 바인딩될 때까지 잠시 이전 상태가 보이는 경우가 생길 수 있어요 이를 방지하기 위해 ..

📱 Android 2024.11.21

[Android] 이미지뷰에 apng 파일 적용하기

APNG는 애니메이션을 지원하는 PNG 파일 형식으로, GIF보다 더 나은 품질과 효율성을 제공하는 파일입니다 우선 대중적인 APNG4Android 라이브러리를 사용하겠습니다 https://github.com/penfeizhou/APNG4Android GitHub - penfeizhou/APNG4Android: Android animation support for APNG & Animated WebP & Gif & Animated AVIF, High performanceAndroid animation support for APNG & Animated WebP & Gif & Animated AVIF, High performance - penfeizhou/APNG4Androidgithub.com implem..

📱 Android 2024.11.17

[Android] Multipart / Presigned url

파일업로드 방식 2가지에 대해 알아보겠습니다 MultiPart- 여러 데이터 조각을 하나의 HTTP 요청으로 전송하는 방식- 안드로이드에서는 Retrofit, OkHttp 등의 라이브러리를 통해 쉽게 구현가능한데, 파일 업로드와 텍스트 데이터 전송에 주로 사용됩니다 MultiPart의 방식- 클라이언트 → 서버 : 클라이언트는 파일을 여러 부분으로 나누어 서버에 전송- 서버 → 저장소 : 서버는 클라이언트로 파일의 각 부분을 수신한 후, 이를 하나의 파일로 조합하여 저장소에 저장 @MultiPart annotation을 사용하면 돼요 interface ApiService { @Multipart @POST("upload") fun uploadFile( @Part file: Mu..

📱 Android 2024.11.14

[Android] styles textcolor 우선순위

styles에서 textColor 우선순위에 대해 알아볼게요 명칭자체에 순위가 보이지만 정리해두겠습니당 textcolor- 특정 뷰에 직접 설정된 텍스트 색상으로, 가장 높은 우선순위를 가집니다 textcolorPrimary- 테마에서 정의된 기본 텍스트 색상으로 뷰에 `textColor`가 설정되어 있지 않거나, 뷰가 기본적으로 상속받는 경우에 사용됩니다. 일반적으로 앱의 기본 텍스트 색상으로 사용됩니다 textcolorSecondary- 보조 텍스트 색상으로, 주로 보조적인 정보나 덜 중요한 텍스트에 사용됩니다. textColor가 우선적으로 적용되지 않는 경우에만 사용됩니다

카테고리 없음 2024.10.24

[Flutter] M1 맥북에서 flutter 설치하기

flutter를 시작하기앞서, 개발환경을 구축해봅시다  ✅ AndroidStudio, XCode는 설치되어있어야합니다Android Studio 설치 : https://developer.android.com/studio?hl=ko Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Studio  |  Android DevelopersAndroid Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.developer.android.com Xcode 설치 : https://apps...

🦋 Flutter 2024.10.19