In this example we are going to see how we can create splash activity or welcome activity in android.
What is Splash Screen or Activity ?
The splash screen is an activity which is launch first when you first open application.
We use splash screen just to show our app / company or our project logo or any welcome message for a couple of second.
Many of the popular android apps such as Skype, Facebook, Instagram, Twitter, Dropbox etc..., uses splash screen to display their logo.
Most of the apps uses Android Splash Screen before launching Home Activity.
Android splash screen is used to display a logo or brand or any welcome message for an app.
Splash Activity or Welcome Activity means we just pause our activity for few second so we use Thread class in our activity for giving pause to our activity.
Lets see example below...
Example ::
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:background="#742"
android:orientation="vertical"
android:padding="10dp"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="36dp"
android:padding="10dp"
android:text="Welcome User"
android:textColor="#ff0"
android:textSize="25sp"
android:textStyle="bold|italic" />
</LinearLayout>
What is Splash Screen or Activity ?
The splash screen is an activity which is launch first when you first open application.
We use splash screen just to show our app / company or our project logo or any welcome message for a couple of second.
Many of the popular android apps such as Skype, Facebook, Instagram, Twitter, Dropbox etc..., uses splash screen to display their logo.
Most of the apps uses Android Splash Screen before launching Home Activity.
Android splash screen is used to display a logo or brand or any welcome message for an app.
Splash Activity or Welcome Activity means we just pause our activity for few second so we use Thread class in our activity for giving pause to our activity.
Lets see example below...
Example ::
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:background="#742"
android:orientation="vertical"
android:padding="10dp"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="36dp"
android:padding="10dp"
android:text="Welcome User"
android:textColor="#ff0"
android:textSize="25sp"
android:textStyle="bold|italic" />
</LinearLayout>
MainActivity.java
package com.example.malik.blog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
style.xml (Inside res/values/style.xml file)
<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="full_screen_key" parent="Theme.AppCompat.Light.NoActionBar"/>
</resources>
activity_welcome.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:background="#654"
android:orientation="vertical"
tools:context="com.example.malik.blog.WelcomeActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="36dp"
android:padding="10dp"
android:text="Splash Activity"
android:textColor="#ff0"
android:textSize="25sp"
android:textStyle="bold|italic" />
</LinearLayout>
WelcomeActivity.java
package com.example.malik.blog;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class WelcomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_welcome);
Thread thread = new Thread(){
public void run(){
try{
sleep(5000);
} catch (Exception e){
e.printStackTrace();
} finally {
Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
startActivity(intent);
}
}
};
thread.start();
}
@Override
protected void onPause() {
super.onPause();
finish();
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.malik.blog">
<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=".WelcomeActivity"
android:theme="@style/full_screen_key">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
</application>
</manifest>
build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.malik.blog"
minSdkVersion 18
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}