로딩액티비티(Splash screen) 만들기(2)

Posted by ITPangPang
2016. 5. 4. 00:18 안드로이드(android)/인텐트


로딩액티비티(Splash screen) 만들기(2)



이번글에서는 Splash Screen 만들기(2)를 해보려고 한다.


저번 (1)글에서는 딜레이를 줘서 로딩액티비티를 구현했다면 


이번에는 style과 theme을 사용해서 구현을 해보려고 한다.


뭐 말은 둘다 로딩화면 아니면 Splash screen이라고 하는데 


따지고 보면 조금 다르다.




자 일단 

아래 사진을 보자


앱을 실행하면 

버튼이 나오는 

화면전에 잠깐 

흰 화면이 나오는부분이

있다.


개발자마다

사용자마자 다르나

저 흰색 부분이 나오는

것을 싫어하는 사람도 있다


위 사진에서는 

잠깐이지만 이 시간은

얼마가 될지는 모른다.


개발자는 이 부분을

자신이 원하는 배경으로

바꿀 수가 있다.


만드는 방법은

아주 쉽다.


첫번째로

[res]-[drawable]에 

이미지를 넣자



컴퓨터를 뒤져보니

있는 사진이 저거밖에 없어서

넣어봤습니다



두번째로

[res]-[values]-[styles.xml]에 

Theme을 만들자

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

<style name="SplashTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowBackground">@drawable/splash</item>
</style>

</resources>


예 별거 없습니다

원래 있던거는 냅뒀고

아래에 name을 

SplahTheme로 해서

하나 생성했습니다


windowBackgournd에 

아까 drawable에 

집어넣은 사진을

추가하였습니다


세번째로

[AndroidManifest.xml]

변경


<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/SplashTheme"
>
<activity
android:name=".MainActivity"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>


예 저렇게 넣으시면 됩니다.

(실제로는 activity에 부분에 넣는편이 좋을겁니다

지금은 테스트라 아래 만들기 귀찮아서 위에 놨지만)


이렇게 설정만 한 후에

한번 앱을 실행 시켜보겠습니다.

위와 비교해보겠습니다.



~~~

보시는대로

잘 나왔습니다


뭐 

저번글처럼 

딜레이만 넣어서 만드나


이번처럼 테마를 바꿔서

만드나


아니면 두개를 섞어서

테마+딜레이를 넣어서

만드나 개발자 

마음이죠..


유명앱들을 봐도

그냥 딜레이만 넣은 앱도 잇고


섞어서 테마+딜레이를

넣은 앱들도 많이 있습니다.


아무래도 로고를 

좀 더 노출시키기 

위해서

강제로 딜레이를

넣는곳도 많을 겁니다


아니면 

흰색이 아닌

검정색을 원해서

바꾸고 싶으신 분들도

위의 형태로 만드시면 됩니다




자 이것으로


Splash Screen 만드는

2가지 방법을 알아봤고


다음번에는 

간단하게 

노가다성(Handler)으로 

애니메이션처럼 

효과를 줘서 로딩화면을

만드는 방법과


실제로 애니메이션을

적용시켜서 

로딩화면을 만드는

방법을 알아보겠습니다