본문 바로가기

TIL

[TIL] Kotlin 화면 세로 고정 / App Icon, splash 변경

[ 1 ] 화면 세로, 가로 고정

[ 1 - 1 ] Manifest에서 Activity 화면 속성 지정

        <activity
            android:name=".MainActivity"
            
            // Activity 화면 속성 지정
            android:screenOrientation="portrait"
            ...>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  • activity 속성에서 screenOrientation 속성을 portrait 로 지정해주면 된다.

[ 1 - 2 ] Activity내 코드에서 세로 모드 설정

class MainActivity : AppCompatActivity() { 
   override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // 화면 방향 지정
        requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
        
        ...
        
    }
}

 

Manifest에서 세로화면 고정과 Activity에서 코드를 통한 화면 세로 고정의 차이점

  • Manifest에서 Activity의 세로화면을 고정할 경우는 정적인 설정으로 앱이 실행되는 동안 일관되도록 유지할 수 있다.
  • Activity 내에서 코드로 화면 고정을 하게 되는 경우 동적으로 특정 상황에 따라 화면 방향을 변경할 수 있다.

 

 

[ 2 ] App Icon 변경 / 앱 라벨 변경 / Splash screen 적용

 

res → new → Image Asset에서 Icon Image 생성해주기. 

  • Foreground Layer에서 path에 Desktop 이미지 파일을 지정하여서 이미지를 업로드 할 수 있으며 불러온 이미지 사이즈를 조절 할 수 있다.

 

  • roundIcon과 icon에 각각 생성한 Image asset로 변경해주자. 글에서는 기존에 존재하던 ic_launcher를 덮어씌웠다.
  • 왼쪽에 preView를 보면 아이콘 이미지가 변경된 모습을 확인할 수 있다.
  • 기본 Splash 화면은 앱 아이콘에 따라 자동으로 변경된다.

 

  • icon 사이에 껴있는 label에 string/app_name 을 ctrl 클릭해서 들어가거나 res/values/string으로 들어가서 앱 이름 변경이 가능하다.

Adaptive , Legacy ?

  • res 폴더에서 new → Image Asset을 통해 Icon을 생성할 때 Icon Type을 보면 Adpative 와 Legacy로 나뉘어 있는 것을 확인할 수 있고, 각각 Icon Type에 따라 추가되는 이미지 형식이 다른 것을 확인할 수 있다.
  • Adaptive Icon
    • Adaptive Image는 다양한 화면 밀도에 맞게 자동으로 크기가 조정되는 벡터 그래픽이다. 자세한 내용은 따로 게시글에 정리해두었다
 

[TIL] Kotlin 적응형 아이콘( Adaptive Icon ) - 테마에 따라 아이콘 색, 배경 색 자동 변경

Adaptive Icon을 통해 앱 테마 색상에 따라 Icon 색상 변경하기. ✔️ Android 13 ( API Level 33 ) 부터 Adaptive아이콘에 테마에 따른 색상 변경 기능을 지원한다. Adaptive Icon 적용화면 [ 1 ] Adaptive Image, Adaptive Ic

junes-daily.tistory.com

 

  • Legacy 
    • Android 26 이전버전의 Icon을 적용할 때 사용되며 몇몇 특정 밀도에 해당하는 아이콘 BItMap이미지이다. 각각의 비트맵은 고정된 크기를 가지기 때문에 화면이 다른 여러 디바이스중에 특정 기기에는 성능 저하나 해상도 문제가 발생할 수 있다. 

 

 

 


[오류,에러 등등]

1. Splash 화면을 Icon과 분리해보려고 했는데, Splash class를 따로 만들지 않는 이상 기본 splash 화면은 아이콘에 영향을 받지 않도록 하기가 불가능한 것 같다.

➕ 추가 - Splash Screen Library 를 사용해서 Icon 이미지와 다른 Splash 화면으로 바꿀 수 있다.
 

[TIL] Kotlin Splash Screen에 Lottie 애니메이션 적용하기 ( Splash Screen Library )

-1- Splash Screen에 Lottie Animation 적용하기 ( Splash Screen Library ) Android 12 ( API Level 31 ) 이상부터는 앱 아이콘에 따라 자동적으로 Splash화면이 생성되는데 해당 Splash 화면을 사용하지 않을 수는 없는데, L

junes-daily.tistory.com

 


[느낀 점]

1. 키워드를 많이 알아봐야 겠다.

 

 


[Reference]