Computer >> Computer tutorials >  >> Programming >> Android

How do I create a splash screen on Android App?


This example demonstrates how to pass data between activities.

Step 1  − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.

Step 2  − Add the following code to res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
   xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:app="https://schemas.android.com/apk/res-auto"
   xmlns:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/activity_main"
   android:padding="20dp"
   android:layout_gravity="center"
   tools:context=".MainActivity">
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/hello_id"
      android:layout_centerInParent="true"
      android:text="Hello my friend "
      android:textSize="20sp"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintTop_toTopOf="parent" />
</RelativeLayout>

Step 3  − Add the following code to src/MainActivity.java

package com.example.sample;
import android.content.Intent;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import static java.lang.Thread.sleep;
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      startActivity(new Intent(MainActivity.this,SecondActivity.class));
      try {
         sleep(3000);
      } catch (InterruptedException e) {
         e.printStackTrace();
      }
      // close splash activity
      finish();
   }
}

Step 4  −Add the following code to res/drawable/splash_screenbackground.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="https://schemas.android.com/apk/res/android">
   <item>
      <color android:color="@color/splash_background_color"/>
   </item>
   <item>
      <bitmap
         android:src="@drawable/mx"
         android:tileMode="disabled"
         android:gravity="center"/>
   </item>
</layer-list>

Step 5  −Add the following code to res/values/colors.xml

<?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="splash_background_color">#5456e1</color>
</resources>

Step 6  −Add the following code to 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="SplashTheme" parent ="Theme.AppCompat.Light.NoActionBar">
      <item name="android:windowBackground">@drawable/splash_screenbackground</item>
      <item name="android:windowNoTitle">true</item>
      <item name="android:windowFullscreen">true</item>
   </style>
</resources>

Step 7  −Add the following code to src/SecondActivity.java

package com.example.sample;
import android.app.Activity;
import android.os.Bundle;
public class SecondActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
}

Step 8  −Add the following code to Manifests/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:dist="https://schemas.android.com/apk/distribution"
   package="com.example.sample">
   <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=".MainActivity"
         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=".SecondActivity"/>
   </application>
   <dist:module dist:instant="true" />
</manifest>

Let's try to run your application. I assume you have connected your actual Android Mobile device with your computer. To run the app from android studio, open one of your project's activity files and Click Run How do I create a splash screen on Android App? Icon from the toolbar. Select your mobile device as an option and then check your mobile device which will display your default screen –

How do I create a splash screen on Android App?

How do I create a splash screen on Android App?