[ 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는 다양한 화면 밀도에 맞게 자동으로 크기가 조정되는 벡터 그래픽이다. 자세한 내용은 따로 게시글에 정리해두었다
- Legacy
- Android 26 이전버전의 Icon을 적용할 때 사용되며 몇몇 특정 밀도에 해당하는 아이콘 BItMap이미지이다. 각각의 비트맵은 고정된 크기를 가지기 때문에 화면이 다른 여러 디바이스중에 특정 기기에는 성능 저하나 해상도 문제가 발생할 수 있다.
[오류,에러 등등]
1. Splash 화면을 Icon과 분리해보려고 했는데, Splash class를 따로 만들지 않는 이상 기본 splash 화면은 아이콘에 영향을 받지 않도록 하기가 불가능한 것 같다.
➕ 추가 - Splash Screen Library 를 사용해서 Icon 이미지와 다른 Splash 화면으로 바꿀 수 있다.
[느낀 점]
1. 키워드를 많이 알아봐야 겠다.
[Reference]