본문 바로가기
안드로이드/개발자 일상

안드로이드 Splash (로딩화면)

by 차누감 2020. 3. 27.

많은 앱을 실행하면 앱의 주요 화면이 나오기 전에 로고가 나오는 화면을 볼 것입니다.

몇초 동안 보였다가 사라지는 화면을 만들겠습니다.

 

<실행 화면>로딩화면이 2초간 나오고 로그인 화면을 보여줍니다.


로딩화면에 보여줄 이미지를 만들겠습니다.

ImageView의 이미지는 안드로이드에서 제공해주는 이미지를 사용하겠습니다.

예제에서는 Size를 150dp X 150dp로 생성했습니다.
이미지가 추가 되었다.

이제 로딩 화면을 만들겠습니다.

activity_main.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
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="utf-8"?>
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
 
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="168dp"
        android:src="@drawable/ic_android_black_24dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Loading"
        android:textSize="46sp"
        android:textStyle="bold"
        android:textColor="#47FC67"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imageView"
        app:layout_constraintVertical_bias="0.206" />
 
 
 

로딩화면이 끝나고 다른 화면을 보여줄 것이기 때문에 새 액티비티(아무거나)를 만들어 줍니다.

저는 로그인 화면을 보여주기 위해 LoginActivity를 만들겠습니다.

이제 MainActivity에서 작성을 합니다.

MainActivity.java

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
26
27
28
29
30
31
32
33
34
35
package com.example.splashactivity;
 
 
 
 
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        startLoading();
    }// onCreate()..
 
    private void startLoading() {
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
 
                Intent intent= new Intent(getApplicationContext(), LoginActivity.class);
                startActivity(intent);  //Loagin화면을 띄운다.
                finish();   //현재 액티비티 종료
            }
        }, 2000); // 화면에 Logo 2초간 보이기
    }// startLoading Method..
}// MainActivity Class..
 
 

<실행 화면> 로딩화면이 2초간 나오고 로그인 화면을 보여줍니다.

 

댓글