일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SWIFTUI
- node
- PagingLib
- paging
- MotionLayout
- MediaSession
- RxKotlin
- Kotlin
- liveData
- databinding
- Reactive
- mysql
- mvvm
- 테스트 자동화
- Android 13
- Android
- 인앱결제
- android13
- rx
- Koin
- SwiftUI Tutorial
- MediaPlayer
- list
- Animation
- 동영상
- google play
- Observable
- node.js
- junit
- GCP
- Today
- Total
봄날은 갔다. 이제 그 정신으로 공부하자
Android 13 - 번외 (테마 앱 아이콘 만들기) 본문
Android 13부터 사용자는 테마 앱 아이콘을 선택할 수 있습니다. 이 기능을 사용하면 지원되는 Android 런처의 앱 아이콘이 사용자가 선택한 배경화면 및 기타 테마의 색상을 상속받도록 색조가 조정됩니다.
이 기능을 지원하려면 앱이 적응형 아이콘과 단색 앱 아이콘을 모두 제공해야 하며 매니페스트의 <adaptive-icon> 요소에서 단색 앱 아이콘을 가리켜야 합니다. 사용자가 테마 앱 아이콘을 사용 설정(즉, 시스템 설정에서 테마 아이콘 전환 버튼을 사용 설정)했으며 런처에서 이 기능을 지원하는 경우 시스템은 사용자가 선택한 배경화면 및 테마의 색상을 사용하여 색조 색상을 결정한 후 단색 앱 아이콘에 적용합니다.
홈 화면에는 다음 시나리오에서 테마 앱 아이콘이 표시되지 않고 적응형 또는 표준 앱 아이콘이 대신 표시됩니다.
- 사용자가 테마 앱 아이콘을 사용 설정하지 않은 경우
- 앱에서 단색 앱 아이콘을 제공하지 않는 경우
- 런처에서 테마 앱 아이콘을 지원하지 않는 경우
사양
단색 앱 아이콘은 다음 사양을 충족해야 합니다.
- VectorDrawable이어야 합니다.
- 로고는 108 x 108dp 컨테이너 내부의 44 x 44dp 영역 내에 맞추는 것이 좋습니다. 로고가 더 커야 하면 최대 72 x 72dp까지 가능합니다.
- 평면 로고를 사용하는 것이 좋습니다. 로고가 3차원인 경우 알파 그라데이션을 사용할 수 있습니다.
단색 속성이 적응형 앱 아이콘의 포그라운드 레이어에 사용된 동일한 VectorDrawable을 가리키도록 하거나 알림에 사용된 벡터 드로어블을 재사용할 수 있습니다.
다음 예는 로고와 컨테이너 영역 사이의 경계를 나타내는 점선이 있는 Google 앱의 단색 앱 아이콘을 보여줍니다. 이러한 경계는 여기서 설명 목적으로만 표시되며 확장되지 않습니다.
테마앱 아이콘 구현
<adaptive-icon> 요소에 monochrome android:drawable 속성을 추가합니다.
예를 들어 res/mipmap-anydpi-v26/ic_launcher.xml에서 다음을 실행합니다.
<adaptive-icon >
<background android:drawable="..." />
<foreground android:drawable="..." />
<monochrome android:drawable="@drawable/myicon" />
</adaptive-icon>
매니페스트 파일에서 android:icon을 사용하여 아이콘을 정의합니다.
<application
…
android:icon="@mipmap/ic_launcher"
…>
</application>
참고: android:roundIcon과 android:icon이 모두 매니페스트에 있다면 android:roundIcon 참조를 삭제하거나 android:roundIcon 속성으로 정의된 드로어블에서 단색 아이콘을 제공해야 합니다.
'학습' 카테고리의 다른 글
node.js로 웹서비스 만들기 (2. mysql 설정하기) (0) | 2023.06.29 |
---|---|
node.js로 웹서비스 만들기 (1. 개발 환경 구축) (0) | 2023.06.27 |
Android 13 - 8편 (새로운 기능: 기타) (0) | 2022.07.29 |
Android 13 - 7편 (새로운 기능: 개인 정보 보호 및 보안) (0) | 2022.07.27 |
Android 13 - 6편 (새로운 기능: 개발자 생산성) (0) | 2022.07.25 |