본문 바로가기
개발/Android

안드로이드 SplashActivity 구현하기

by 남트로 2023. 4. 16.

오늘은 개발하고 있는 모바일 앱에 로딩화면을 구현해볼 것이다.

그때 사용되는게 SplashAcitivity인데 이 Activity를 2초간 보여진 후 MainAcitivty가 실행될 것이다.

 

SplashActivity 구현

먼저 Empty Activity로 SplashActivity를 만들어주었다.

그리하여 자바파일과 xml파일이 생성되었다.



그 다음에 로딩화면에 쓰일 화면을 준비해준다.



activity_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<io.codetail.widget.RevealFrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:scaleType="fitXY"
            android:id="@+id/image_content"
            android:src="@drawable/mainlayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </FrameLayout>
</io.codetail.widget.RevealFrameLayout>

그리고 오픈 ui 메서드를 통해서 화면 전체에 내가 가져온 사진이 보이도록 코드를 작성해주었다.



SplashActivity.java

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        //로딩화면 시작.
        Loadingstart();
    }
    private void Loadingstart(){
        Handler handler=new Handler();
        handler.postDelayed(new Runnable(){
            public void run(){
                Intent intent=new Intent(getApplicationContext(),MainActivity.class);
                startActivity(intent);
                finish();
            }
        },2000);
    }
}

그 다음에 postDelayed를 통해서 2초동안 화면이 보여지게 설정하고 intent를 이용해 MainAcivity로

화면이 전환되도록 코드를 작성하였다.

<intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity"></activity>

마지막으로 부분의 MainActivity와 SplashActivity의 위치를 바꿔주었다.



실행결과


위 화면과 같이 정상적으로 실행되는 것을 볼 수 있다.

댓글