초기화면 페이지를 만들어보자. splash 페이지 제작

by 조쉬 posted Dec 14, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

초기 랜딩페이지를 로고이미지를 넣어서 만들어 보도록 하자.

화면에 로고 이미지가 나타나면 2초정도 후에 메인페이지로 넘어가도록 해보자.

 

 

bg_logo.png 초기화면 이미지를 준비하자.

 

 

전체 구성화면

 

 

[ splash_background.xml ] - 로고가 있는 초기페이지 화면구성

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorSplashBackground"/>
    <item>
        <bitmap android:gravity="center" android:src="@drawable/bg_logo"/>
    </item>
 
</layer-list>
cs

 

 

[ colors.xml ]

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#008577</color>
    <color name="colorPrimaryDark">#00574B</color>
    <color name="colorAccent">#D81B60</color>
    <color name="colorSplashBackground">#4D4848</color>
</resources>
cs

colorSplashBackground 배경색 코드를 추가했다.

 

[ styles.xml ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<resources>
 
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <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.NoActionBar">
        <item name="android:windowBackground">@drawable/splash_background</item>
    </style>
 
</resources>
cs

SplashTheme 라는 이름으로 style을 만든다. NoActionBar 를 추가하여 상단에 타이틀바가 나오지 않도록했다.

이안에 13라인과 같이 splash_background.xml 의 내용을 적용시킨다.

 

 

[ SplashActivity.java ] - 초기페이지

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class SplashActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
 
        Handler handler = new Handler();
        // 2초뒤에 화면 보임
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(getApplicationContext(),MainActivity.class);
                startActivity(intent);
                finish();
            }
        },2000);
 
 
    }
}
cs

 

여기까지 완료했다면 최초 페이지를 MainActivy.java 가 아니라 SplashActivity.java 로 바꾸는 작업이 필요하다.

아래의 xml 파일에서 14라인에서 17라인까지 소스부분이다.

 

[ AndroidManifest.xml ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.wonpa.splachexam">
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
 
        <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>
 
        <activity android:name=".MainActivity">
        </activity>
 
    </application>
 
</manifest>
cs

 


Articles

1 2 3 4 5 6 7 8 9 10