728x90
앱 시작시에 나타나는 초기 화면을 만들어 보자.
1. 우선 시작시에 실행할 java 파일을 만들어 주자.
최소 실행할 파일을 [SplashActivity]라 이름을 주고 아래와 같이 코드를 넣었다.
Handler handler = new Handler();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent); //2초 후 MainActivity를 실행해주자
finish();
}
}, 2000); //2초간 화면을 띄우자
}
2. AndroidManifest.xml 파일에 첫 실행되는 MainActivity 대신 SplashActivity로 실행되게끔 변경해 준다.
<activity android:name=".MainActivity"
android:exported="true"
android:theme="@style/Theme.app.NoActionBar">
</activity>
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
그리고 SplashActivity에 대해서 테마를 지정해 주었다.
테마없이 Layout을 만들어 나타나도록 해도 가능하다.
3. themes.xml 파일에 위에서 지정한 테마를 만들어 주자.
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_background</item>
</style>
4. drawable에 앞에서 지정해준 splash_background.xml 파일을 만들어 아래와 같이 만들어 준다.
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/app_splash_img" />
<item android:top="250dp">
<bitmap android:src="@drawable/main_icon"
android:gravity="top" />
</item>
</layer-list>
이제 앱을 실행해서 해당 앱이 실행을 할때 첫 초기화면이 나타났다 사라지는 것을 볼 수 있다.
728x90
'Programing > android' 카테고리의 다른 글
[android studio] Class referenced... Cannot resolve class ... 오류 해결 (0) | 2021.11.10 |
---|---|
[android studio] themes 색상, 상태바 액션바 색상변경 (0) | 2021.11.07 |
[android studio] Cleartext HTTP traffic to...not permitted 오류 (0) | 2021.11.05 |
[android studio] google maps API 사용방법 정리 (0) | 2021.11.05 |
[android studio] context 종류 및 역활 (0) | 2021.11.04 |
댓글