로딩액티비티(Splash screen) 만들기(2)
로딩액티비티(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)으로
애니메이션처럼
효과를 줘서 로딩화면을
만드는 방법과
실제로 애니메이션을
적용시켜서
로딩화면을 만드는
방법을 알아보겠습니다
'안드로이드(android) > 인텐트' 카테고리의 다른 글
Activity간 데이터전달(putExtra, getExtras,getIntent) (3) | 2016.04.23 |
---|---|
로딩페이지(Loading) 만들기(1) (2) | 2016.03.31 |