Android Splash Screen

Splash screen-urile sunt des întâlnite în cadrul aplicațiilor. De cele mai multe ori, o aplicație are nevoie de ceva timp pentru a fi lansată în execuție, iar o modalitate de a distrage atenția user-ului este de a crea un splash screen.

Înainte de a începe implementarea avem nevoie de o imagine care să fie afișată și să setăm timpul cât imaginea respectivă este vizibilă.

Pasul 1:

Se realizează un proiect nou, eventual pentru API Level 8 (Android 2.2). Se integrează imaginea în primul view și rezultă următorul xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center" >

<ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/yogi_bear" />

</RelativeLayout>

Rezultatul:

Pasul 2:

Se implementează activitatea asignată screen-ului anterior, mai precis chiar splash screen-ul:


import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

public class MainActivity extends Activity

{

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Thread splashThread = new Thread()

{

@Override

public void run()

{

try

{

int waited = 0;

while (waited < 2500)

{

sleep(100);

waited += 100;

}

}

catch (InterruptedException e)

{

}

finally

{

finish();

Intent intent=new Intent(MainActivity.this, StartActivity.class);

startActivity(intent);

}

}

};

splashThread.start();

}

}

Pasul 3:

Se realizează design-ul pentru ecranul ce va fi afișat după ce splash screen-ul nu mai este vizibil. Acest al doilea view va conține un text.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/light_gray"
android:gravity="center"
android:orientation="vertical"
android:padding="20dip" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Iuhuuuuu! Felicitari! Ai realizat un splash screen!"
android:textColor="@drawable/green"
android:textSize="18dip"
android:textStyle="bold">
</TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cu drag, Yogi :)"
android:textColor="@drawable/green"
android:textSize="16dip"
android:layout_marginTop="30dip">
</TextView>
</LinearLayout>

Rezultatul:

Pasul 4:

Pentru ecranul cu numărul 2 se va realiza o activitate nouă. Ambele activități vor fi menționate în manifest. De asemenea, pentru ambele, vom elimina bara de titlu.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.splashscreenapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".StartActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
</activity>
</application>
</manifest>
Advertisements
Android Splash Screen

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s