홈 화면 및 기타 표면을 위한 앱 위젯을 더 빠르고 쉽게 구축할 수 있도록 설계된 새로운 프레임워크인 Jetpack Glance의 첫번째 릴리즈가 출시됐습니다.
Android 12는 많은 Android 사용자를 위한 핵심 기능인 앱 위젯을 개선하여 더 유용하고 아름답고 검색하기 쉽게 만듭니다. (84%는 1개 이상의 위젯을 사용).
오늘 우리는 홈 화면 및 기타 Surface를 위한 앱 위젯을 더 빠르고 쉽게 빌드할 수 있도록 설계된 Jetpack Compose 런타임 위에 빌드된 새로운 프레임워크인 Jetpack Galance의 첫 번째 알파를 출시하여 빌드를 훨씬 쉽게 만들고 있습니다.
Glance는 Jetpack Compose에 익숙한 유사한 최신 declarative Kotlin API를 제공하여 훨씬 적은 코드로 아름답고 반응이 빠른 앱 위젯을 빌드할 수 있도록 도와줍니다.
class GreetingsWidget(private val name: String): GlanceAppWidget() {
@Composable
override fun Content() {
Text(text = "Hello $name")
}
}
class GreetingsWidgetReceiver : GlanceAppWidgetReceiver() {
override val glanceAppWidget = GreetingsWidget("Glance")
}
GlanceAppWidget()을 상속 받은 Composable 함수인 Content()는 GreetingsWidget을 만들 때 String을 받아 이것을 Composable Text의 안에 넣습니다.
그럼 이것이 어떻게 동작하는지 확인해 보겠습니다.
Glance는 "한눈에 볼 수 있는" 경험을 구축하는 데 도움이 되는 자체 Composable의 기본 세트를 제공합니다.
오늘부터 앱 위젯 구성요소(app widget components)로 시작하지만 더 많은 것들이 제공될 예정입니다.
Glance는 Jetpack Compose 런타임을 사용하여 이러한 Composable을 앱 위젯에 표시할 수 있는 RemoteView로 변환합니다.
위의 그림은 Glance의 구조 Diagram입니다.
Glance는 Compose를 활성화해야 하며 런타임, 그래픽 및 Unit UI Compose 레이어에 의존하지만 다른 기존 Jetpack Compose UI 요소와 직접 상호 운용할 수 없습니다.
그러나 상태 또는 앱 내의 다른 logic를 공유하여 한눈에 볼 수 있는 UI를 만들 수 있습니다.
What's in Alpha
이 초기 릴리즈에는 기존 RemoteView와의 상호 운용성을 제공할 뿐만 아니라 앱 위젯을 빌드할 수 있는 기본 API가 도입되었습니다.
다음은 라이브러리가 제공하는 내용에 대한 개요입니다.
- Declare your app widgets with GlanceAppWidget and GlanceAppWidgetReceiver.
- Compose your UI with the initial set of Glance Composables: Box, Row, Column, Text, Button, LazyColumn, Image, Spacer.
- Apply modifiers to the composables using GlanceModifier methods.
- Handle user interaction with predefined Actions.
- Provide parameters to Action with ActionParameters.
- Handle different size modes by defining SizeMode.Single, SizeMode.Exact or SizeMode.Responsive.
- Persist GlanceAppWidget state by providing a GlanceStateDefinition.
- Local compositions like LocalContext, LocalState, LocalGlanceId, LocalSize.
- Interop with your existing RemoteViews with the AndroidRemoteViews Composable.
기본 테마, 추가 Android Studio 지원 등을 통해 더 많은 기능을 제공하기 위해 노력하고 있습니다.
새로운 릴리즈를 계속 지켜봐 주십시오.
Get started with Glance
Check out the sample on GitHub for a quick start. Glance works with the latest stable Android Studio, although since Glance relies on Compose Runtime, follow the steps on the Jetpack Compose docs to set it up first.
In addition, for a more advanced showcase, checkout the demos in the AndroidX repository.
'Android > Jetpack Compose Concepts' 카테고리의 다른 글
JETPACK COMPOSE: OutlinedTextField, FilledTextField에 대해 알아보자 (0) | 2022.01.26 |
---|---|
JETPACK COMPOSE: Border에 대해 알아보자 (0) | 2022.01.23 |
JETPACK COMPOSE: Column에 대해 알아보자 (0) | 2022.01.13 |
JETPACK COMPOSE: Box에 대해 알아보자 (0) | 2022.01.11 |
JETPACK COMPOSE: CARD에 대해 알아보자 (0) | 2022.01.11 |
댓글