본문 바로가기

Dev/Android

Android 스플래쉬(Splash) / 로딩화면 만들기


스플래쉬(Splash) 화면이란??

로딩화면, 스마트 폰 어플리케이션에 있어서 스플래쉬 화면은 사용자와 개발사를 위한 필수 화면 중 하나이다.
이는 스마트폰의 사양이 발전하고 있지만, 일반 PC와 같은 기기에 비해서 처리속도가 느린 점은 어쩔 수 없기에

어플리케이션에서 실행에 필요한 데이터를 불러오는 시간을 벌어주는 화면이다,

앗, 스플래쉬 화면과 로딩화면에 가장 큰 차이점은 무엇인가?
스플래쉬 화면은 단어의 뜻 처럼 기업에 브랜드를 사용자에게 노출하는 광고 시간및, 어플을 실행하기 위한
데이터를 로딩하는 시간이다.

<스플래쉬 화면 예>










스플래시 화면 만들기

스플레시 화면 리소스



첫번쨰 보여질 이미지.
그냥 던전앤파이터 게임을 좋아해서..
간단하게 내가 사용할 앱을 만들 생각으로 썼다..
절대 상업적으로 먼가를 생각한게 아닙니다..  ㅜㅜ


두번쨰 보여질 이미지.
제 블로그 화면입니다.






스플래시 화면 구성
 
스플래시 화면 1, 화면 2, 가 있으며, 일정시간이 지나면 자동으로 넘어간다, 그리고 터치 이벤트도 받는다가 전재 조건으로해서
아래와 같은 화면 구성을 짰다.


 
Activity
Main : DFfanActivity
Splash : SplashActivity

Layout XML
main : main.xml 
Splash : splash.xml



 DFfanActivity  레이아웃 XML을참조하기 이전에 startActivity로 다른 엑티비티를 실행한다. 





 splash.xml : 스플레시 이미지 1를 기본적으로 배경으로 해놨으며, android:onClick을 이용하여 클릭 이벤트를 받아 다른 이미지가 보이도록 할 것이다.




 SplashActivity :

int splashSceneNumber : 클릭 이벤트 / 시간 경과 후 숫자를 봐꿔 주며, 봐뀐 숫자를참조하여 이미지가 봐끼도록 하였습니다.

LinearLayout splashLayout; 레이아웃 참조... 클릭이 발생하였을 시 배경이미지가 봐뀐다.
 - 참조  : 레이아웃 배경 화면 봐꾸기 (이미지 파일이 drawable에 있을 경우)  : splashLayout.setBackgroundDrawable(getResources().getDrawable(R.drawable.df_splash_2));

public void hn_splashOnclick(View v) : 레이 아웃이 클릭되는 이벤트를 받아 쓴다.

Handler mHandler : 핸들러.. 일정 시간 뒤 이벤트가 발생하도록 하였습니다.
- 참조 : 핸들러에 일정 시간 경과 후 메시지 보내는 방법 : mHandler.sendEmptyMessageDelayed(splashSceneNumber, 2000); 메시지 / 시간
            핸들러에 메시지를 바로 보내는 방법 : mHandler.sendEmptyMessage(splashSceneNumber);