Compose에서 Autofill API를 사용하는 방법을 소개합니다.
BOM 2025.05.01
TextField(
state = rememberTextFieldState(),
...,
modifier = Modifier.contentType(Username)
)
TextField(
state = rememberTextFieldState(),
...,
modifier = Modifier.contentType(Password)
)
alpha BOM 2025.05.01
BOM 2025.05.01
Box {
Text(
text = myText,
maxLines = 1,
autoSize = TextAutoSize.StepBased()
)
}
// 최소, 최대, 단계 설정
Box {
Text(
text = myText,
maxLines = 1,
autoSize = TextAutoSize.StepBased(
minFontSize = 20.sp,
maxFontSize = 32.sp,
stepSize = 1.sp
)
)
}
Container 내에서 Composable의 위치와 크기를 자동으로 애니메이션화 가능
BOM 2025.05.01
LookaheadScope {
Box(
Modifier
.animateBounds(this@LookaheadScope)
.width(if(inRow) 100.dp else 150.dp)
.background(...)
.border(...)
)
}
화면 내에서 Composable의 위치를 추적하는데 사용할 수 있는 저수준 API
BOM 2025.05.01
Box(
Modifier
.size(...)
.offset(...)
.border(...)
.background(...)
.onLayoutRectChanged {
l = it.boundsInRoot.left.toString()
t = it.boundsInRoot.top.toString()
r = it.boundsInRoot.right.toString()
b = it.boundsInRoot.bottom.toString()
}
) {
...
}
// throttle, debounce 사용 사례
Box(
Modifier
.size(...)
.offset(...)
.border(...)
.background(...)
.onLayoutRectChanged(
throttleMillis = 200,
debounceMillis = 1000
) {
...
}
) {
...
}
Composable의 가시성(Visibility)이 변경될 때마다 콜백을 제공하여 ViewPort에 들어오거나 나갈 때 호출됩니다.
alpha BOM 2025.05.01
Composable 버전에 따른 벤치마크 결과
다른 최적화 방안
experimental API 조사
Compose에서 기존 Navigation으로는 Backstack 및 상태 호이스팅을 다루는 경우 사용하기 불편했습니다.
기존 PreviewView / PlayerView를 감싸는 형태가 아니라 기초부터 재작성 중입니다.
Androidify 샘플에서 비디오 관련 샘플을 다룹니다.
https://github.com/android/androidify
Google에서도 KMP를 지원하고 있으며 Jetpack libraries들 중 일부에서도 지원하고 있습니다.
Stable 목록
Jetpack 라이브러리들에서 3가지 트랙을 나눴으며, 각 계층은 각각 다른 의미를 가집니다.
KMP 관련 추가 자료
Android의 출시 주기 변경
디지털 자격 증명 검증 API
자격 증명 복원 API
Privacy Sandbox를 사용하면 3P 코드를 격리된 런타임 환경에서 대응 가능
Android 고급 보호 모드
Identity Check를 통한 도난 방지
Medical records API
새로운 데이터 유형 추가
Background Reads
새로운 Android Vital metric : Excessive Wake Locks
Large Screen에 포커스
600dp 이상인 대형 화면 단말에서 Target SDK 36를 사용하는 경우 일부 manifest 정의가 무시됩니다.
Watch Face Push
Material3의 확장팩이며 기존 M3 기능과 호환됩니다.
// Compose
implementation("androidx.compose.material3:material3:1.4.0-alpha15")
// Views
implementation("com.google.android.material:material:1.14.0-alpha01")
사용자가 중요하고 시간에 민감한 진행 중인 작업을 돕는 새로운 알림 정의.
Notification에 ProgressStyle 템플릿을 추가
Android 16부터는 opt out옵션이 더 이상 제공되지 않음
Predictive Back(뒤로 탐색 예측)
Jetpack Media3에서 Preload Manager API 출시
배터리 절약을 위한 더 나은 성능을 제공하는 경우에 사용
GenAI
Gemini Live APIs
comments powered by Disqus
Subscribe to this blog via RSS.
[요약] What's new in Android development tools (Google I/O '25)
Posted on 25 May 2025Jetpack Compose: LazyColumn/LazyRow 내부 코드 분석 ~ 3부 LazyLayout
Posted on 20 Apr 2025