Intro View

2020.08.30 13:22

Admin Views:11

안드로이드 앱 실행시 로고등이 잠시 보였다가 메인화면이 출력되는 것을 많이 보았을것이다.

 

스튜디오 메뉴 > File > New > Activity > Empty Activity 를 클릭하여 액티비티를 새로 추가한다.

Image 9.jpg

 

 

1. AndroidManifest.xml 을 열어서 IntroActivity 구문을 아래와 같이 추가/편집한다.

참고로 MainActivity 구문내에 있던 intent-filter는 IntroActivity 구문안에 넣었다.

<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=".IntroActivity"
            android:theme="@style/AppTheme.NoActionBar">

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

        </activity>

        <activity android:name=".MainActivity" android:label="@string/app_name" />

    </application>

 

2. activity_intro.xml 을 열어서 배경화면에 사용할 이미지와 텍스트를 등록한다.

배경이미지로 사용할 파일(back_intro.png)은 appsrcmainresdrawable-xhdpi 폴더안에 복사한다.

 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".IntroActivity">

    <ImageView
        android:id="@+id/logo_intro"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:layout_gravity="center_horizontal|center_vertical"
        android:src="@drawable/back_intro" />

    <TextView
        android:id="@+id/introtext"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:textColor="#ffffff"
        android:textSize="30sp"
        android:text="@string/app_name" />

</androidx.constraintlayout.widget.ConstraintLayout>

 

3. res/values/styles.xml 을 열어서 스타일을 추가한다.

<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="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

</resources>

 

4. IntroActivity.Java 파일에 아래 내용을 등록한다.

public class IntroActivity extends AppCompatActivity {

    private int SPLASH_TIME_OUT = 2000; // 2 sec

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_intro);

        startIntro();
    }

    private void startIntro() {
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {

                Intent intent= new Intent(getApplicationContext(), MainActivity.class);
                startActivity(intent);
                finish();
            }
        }, SPLASH_TIME_OUT);
    }

}

 

앱을 실행해서 결과를 확인한다.