Cordova SplashScreen 플러그인

  • SplashScreen 은 앱의 실행 전 이미지! 즉 로딩화면 이라고 생각하면 이해가 빠르겠죠?
  • Cordova(폰갭)은 많은 플러그인이 존재 하기 때문에 개발의 속도를 많이 높여줍니다.
  • SplashScreen 또한 플러그인만 설치하면 별도의 설정 없이 바로 사용이 가능합니다.
$> cordova plugin add cordova-plugin-splashscreen
하지만 앱을 처음 실행 할 때만 SplashScreen이 나타나고 그 이후에는 나타나지 않는 현상이 있으므로 지워줍니다.
$> cordova plugin rm cordova-plugin-splashscreen

SplashScreen 플러그인 없이 MainActivity 코드 추가하기

  • 저는 앱을 실행 할 때 항상 SplashScreen 이 나타났으면 하기 때문에 직접 Native 로 구현을 하였습니다.
  • 구현코드를 간단히 설명을 하자면 ImageView(SplashScreen) 를 생성해서 약 1.5초 동안 loadUrl 로 불러오는 뷰 위에 띄우는 거죠.
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;

import org.apache.cordova.*;

public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        loadUrl(launchUrl);

        final ImageView iv = new ImageView(this);
        iv.setBackgroundResource(R.drawable.screen); // screen.png

        this.addContentView(iv, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
              iv.setVisibility(View.GONE);
            }
        }, 1500);
    }
}