반응형
LinkedIn
개발자로 성장하면서 남긴 발자취들을 확인하실 수 있습니다.
Github
WWDC Student Challenge 및 Cherish, Tiramisul 등 개발한 앱들의 코드를 확인하실 수 있습니다.
개인 앱 : Cherish
내 마음을 들여다보는 시간, 체리시는 디자이너와 PM과 함께 진행 중인 1인 개발 프로젝트입니다.
10년 후, 20년 후 나는 어떤 스토리 텔러가 되어 있을지 궁금하다. 내가 만약에 아직 조금 더 탐구하고 싶은 게 있고, 궁금한 게 있다면, 그게 설사 지금 당장의 내 인생에 도움이 안 되는 것 같더라도 경험해보자. 그 경험들을 온전히 즐기며 내 것으로 만들고, 내 일에 녹여내고... 그러다보면 그 점들이 모여 나란 사람을 그려내는 선이 될 테니까.
Recent Posts
Recent Comments
- Total
꿈꾸는리버리
compose - Widget with Glance 본문
반응형
1️⃣ build.grandle.kts에 아래 dependencies 추가하기
implementation("androidx.glance:glance-appwidget:1.1.1")
implementation("androidx.glance:glance-material:1.1.1")
implementation("androidx.glance:glance-material3:1.1.1")
한눈 | Jetpack | Android Developers
이 페이지는 Cloud Translation API를 통해 번역되었습니다. 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Glance Jetpack Compose 스타일의 API를 사용하여 원격 표면의
developer.android.com
2️⃣ WidgetClass , WidgetReciver만들기
class MinimiFirstWidget: GlanceAppWidget() {
override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
ContentView()
}
}
}
@Composable
private fun ContentView() {
Column(
modifier = GlanceModifier // GlanceModifier임 !!
.fillMaxSize()
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
) {
// 내용 - Glance에서 지원하는 Text, Image, Column, Box 등만으로 직접 UI를 구성해야 함
Image(
provider = ImageProvider(R.mipmap.couple),
contentDescription = null,
modifier = GlanceModifier
.size(60.dp)
.cornerRadius(30.dp),
contentScale = ContentScale.Crop
)
}
}
import androidx.glance.appwidget.GlanceAppWidget
import androidx.glance.appwidget.GlanceAppWidgetReceiver
class MinimiFirstWidgetReceiver: GlanceAppWidgetReceiver() {
override val glanceAppWidget: GlanceAppWidget
get() = MinimiFirstWidget()
}
참고)
image의 경우 경로가 이쪽이어야 함
3️⃣ provider XML file 만들기
위젯의 최소크기, 미리보기 등을 설정할 수 있는 거 같다.
++ 만들 당시에 "appwidget-provider"를 선택해서 만들면 더 편하게 코드 짤 수 있음 !
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/widget_first"
android:minWidth="40dp"
android:minHeight="40dp"
android:previewImage="@drawable/couple"
android:previewLayout="@layout/glance_default_loading_layout"
android:updatePeriodMillis="10000"
android:resizeMode="horizontal|vertical"
android:widgetCategory="home_screen"
/>
4️⃣ Android Manifest.xml에 Receiver 세팅
Activity 코드 밑에 receiver 추가하기
<receiver
android:name=".widget.MinimiFirstWidgetReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_minimi_first_provider"/>
</receiver>
앱에서 위젯으로 데이터 넘기는거랑 디테일한 위젯 디자인은 내일 손보려구요 ....
안드로이드 너무 어려워요... 커스텀도 많이 되고....
I miss iOS.....
반응형
'오뚝이 개발자 > 안드로이드' 카테고리의 다른 글
compose - Widget에서 커스텀 폰트 쓰기 !! (0) | 2025.05.15 |
---|---|
Compose - 키보드 닫기 (0) | 2025.05.14 |
Compose - err_cache_miss 오류 (0) | 2025.05.09 |
Compose - Font 추가하기 (2) | 2025.04.23 |
Compose - Row, Columns, Box - 레이아웃 기본사항 (0) | 2025.04.23 |
Comments