-
안드로이드 스플래시 이미지 구현하기Mobile App/Android 2021. 4. 29. 18:09
Splash 화면 구현
경로 :
res/drawable/splash.xml
(생성)<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/purple_200" /> <item> <bitmap android:src="@drawable/ic_launcher_foreground" android:gravity="center"/> </item> </layer-list>
Splash Theme 추가
경로 :
res/values/themes.xml
,res/values-night/themes.xml
<!-- 스플래쉬 테마 --> <style name="SplashTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/purple_500</item> <item name="colorPrimaryVariant">@color/purple_700</item> <item name="colorOnPrimary">@color/white</item> <!-- Secondary brand color. --> <item name="colorSecondary">@color/teal_200</item> <item name="colorSecondaryVariant">@color/teal_700</item> <item name="colorOnSecondary">@color/black</item> <!--타이틀 바 없애기--> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowBackground">@drawable/splash</item> </style>
Android Manifest 수정
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="me.eeyo.user"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/SplashTheme"> <!-- Splash Theme 적용 --> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- <activity android:name=".MainActivity"/>--> </application> </manifest>
Main Activity 수정
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { setTheme(R.style.Theme_앱이름); // 앱 기본 테마로 변경 super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* 전체화면 코드 시작 */ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { final WindowInsetsController insetsController = getWindow().getInsetsController(); if (insetsController != null) { insetsController.hide(WindowInsets.Type.statusBars()); } } else { getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN ); } /* 전체화면 코드 끝 */ } }
결과물
스플래시 액티비티를 사용하는 것 보다 간결하고, 앱 로딩이 끝나는 즉시 메인 액티비티가 뜬다.
이거 하나 보여주자고 왜 액티비티를 만들어 귀찮게
'Mobile App > Android' 카테고리의 다른 글
안드로이드 웹뷰 뒤로가기 버튼 이벤트 만들기 (0) 2021.05.12 안드로이드 웹뷰 사용 및 설정, SSL 무시 (0) 2021.05.12 안드로이드 하단 메뉴바 활용하기 (0) 2021.05.02 안드로이드 프래그먼트 활용하기 (0) 2021.05.02 안드로이드 스플래시 이미지 구현하기 (0) 2021.04.29 안드로이트 타이틀바/상태바 없애기 (노치 대응) (0) 2021.04.29