2022.03.01 - [네이티브/IOS] - ios splash image 띄우기 에 스플래시 이미지에 대한 간략한 설명이 있습니다.
먼저 읽으신다면 어떠한 이유에서 사용하는지 간략히 알수 있을 것입니다.
Android의 기능을 이용하여 splash image를 띄워보겠습니다.
splash image를 띄우는 법은 다양하게 있을수 있습니다.
여기서 소개하는 방식은 그중 하나 입니다.
1. Splash Activity 생성
2. 앱 실행시 실행되는 intent Launcher를 Splash Activity로 설정
3. Splash Activity 커스텀
4. Splash Activity에서 원하는 노출시간 이후에 Main Activity 실행 이후 종료
1. Splash Activity 생성
패키지 파일 안에 SplashActivity 파일을 생성해 줍니다.
package kr.splashtest.app;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class SplashActivity extends Activity {
public static Activity splashActivity;
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
splashActivity = this;
handler = new Handler();
handler.postDelayed(new Runnable() { // handler를 이용해서 1000ms 뒤에 run() 메소드가 동작하게 합니다.
@Override
public void run() {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent); // MainActivity.class 를 실행시킵니다.
splashActivity.finish(); // 현재 splashActivity를 종료시킵니다
}
}, 1000);
}
}
2. 앱 실행시 실행되는 intent Launcher를 Splash Activity로 설정
app/manifests/AndroidManifest.xml 에서 아래와 같이 설정해주어 처음 실행되는 activity를 splash 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>
3. Splash Activity 커스텀
manifest.xml의 내용을 보면 splashActivity에서 테마를 설정해준것을 볼 수 있습니다.
res/values/styles.xml에 아래의 내용을 추가해줍니다.
이미지를 직접 설정할 수도 있고 그 외 간략한 설정들 또한 직접 정의할 수 있습니다.
이미지는 png 확장자를 가진 파일이여야 합니다.
jpg는 안됩니다. gif는 첫 화면만 노출되고 정상적으로 출력이 되지 않습니다.
<resources>
// 생략
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:background">@drawable/splash</item> // 여기서 백그라운드 이미지 설정 가능
<item name="android:windowDisablePreview">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
// 생략
</resources>
4. Splash Activity에서 원하는 노출시간 이후에 Main Acitivity 실행 이후 종료
=> 1번의 코드가 정상적으로 동작한다면 아래와 같은 화면을 볼 수 있을것입니다.
아래는 실행 영상입니다.
'네이티브 > Android' 카테고리의 다른 글
Android webview에서 javascript로 함수 호출하기 ℡ (0) | 2022.04.20 |
---|---|
Android 웹뷰 alert, confirm 띄우기 (0) | 2022.01.24 |
Android 웹뷰 쿠키 native에서 세팅 (0) | 2022.01.21 |
Android 웹뷰 디버깅 (0) | 2022.01.20 |
안드로이드 UGC 심사 거절 (0) | 2022.01.18 |