2022. 5. 18. 17:56ㆍAndroid
안드로이드 12로 넘어오면서 스플레쉬 화면에 변화가 생겼다.

처음에 이것은 삼성 one ui 4.1 이상부터 적용된건줄 알았지만
찾아보니 구글에서 안드로이드12부터 적용되는 정책이였다
여지껏 이걸 인지하지 못하였다 최근에 회사에서 저거를 없앨수 있는방법이 있냐해서 찾아보기로 하였다
찾아보니 나의 검색능력이 부족한 탓인지 괜찮은 글들을 찾기가 힘들었다.
그러던중 찾은건
https://www.youtube.com/watch?v=Loo4i5IrZ4Y
이 영상과
부가적인 설명이
안드로이드12 스플래시 대응하기
Android 12 Splash API
sungbin.land
이렇게 두개를 참고 하였다
왜 구글에서 저렇게 만들었는가에 대해 상세한내용은 위 글을 참고 하면 좋다
일단 찾아보면서 알아낸것은
저 처음 스플래쉬화면은 없앨수가 없다.
그리하여 splash api 를 이용해 splash 화면을 만들어보자
1.
implementation "androidx.core:core-splashscreen:1.0.0-beta02"
gradle 에 먼저 추가해주자
2.image 만들기

저기서 이미지를 만들어주자

이런식으로 이미지를 만들어주면 된다
사실 이부분은 사용자 알아서 커스텀해서 사용하면된다
단 사이즈 조절은 잘해야된다.
저는 사이즈 조절 맞추기가 힘들어 저렇게 만들었다.
3.

res -> values ->Value Resource File ->

splash 라는 xml 파일을 만들어주자
(위에서 파일 2개는 하나는 다크모드용이다)
4.splash.xml

windowSplashScreenBackground = 스플래쉬 화면에 배경화면 색상
windowSplashScreenAnimatedIcon = 스플래쉬 아이콘 설정
빨간색으로 밑줄친곳은 현재 자신의 프로젝트에 themes or style 에 있는

저 이름을 가져오면 된다
5.manifests.xml

해당 원하는 액비티에 테마를 적용 시킨다.
여기서 application 테마도 바꾸라는 글을 봤는데
굳이 그럴 필요없다 만약 application theme 를 바꾸면 밑에 모든 액티비티에 다 테마를 설정해줘야 하는 귀찮음이 발생한다.
6.MainActiviy

onCreate 에서 꼭 super.onCreate(saveInstanceState) 위에
installSplashScreen()
적어주자
이렇게 하면 간단하게 완성이다.

정말 간단하게 적용을 시켜보았는데
저기서 애니메이션 효과도 넣을수 있고 충분히 커스텀을 많이 할수있다.
이 글은 정말 기초적인 것말 설명을 하였고 설명이 부족한 부분도 많지만 너그럽게 양해바랍니다.
'Android' 카테고리의 다른 글
Android MVVM 아키텍처 패턴에 관하여 1 (0) | 2022.06.14 |
---|---|
Android Kotlin Gson SerializedName NullPointerException 문제 (0) | 2022.05.20 |
Android Hilt 에 대해 정리 (0) | 2022.05.09 |
Android Paging3 , Room , Flow 관련 백그라운드 쓰레드 (0) | 2022.05.04 |
Android 크롭 기능 없이 이미지 자르기 (0) | 2020.06.29 |