Splash com sleep

Top  Previous  Next

Atenção o livro Google Android sugere usar este método: Handler - usando Runnable para Splash

Projeto

 

 

main.xml

<?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:orientation="vertical" >

 

   <TextView

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:text="@string/hello" />

 

</LinearLayout>

 

splash.xml

 

<?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/splashimage"

   android:orientation="vertical" >

 

</LinearLayout>

 

AndroidManifest.xml

 

<?xml version="1.0" encoding="utf-8"?>

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

   package="com.esplachi"

   android:versionCode="1"

   android:versionName="1.0" >

 

   <uses-sdk android:minSdkVersion="7" />

 

   <application

       android:icon="@drawable/ic_launcher"

       android:label="@string/app_name" >

       <activity

          android:name=".Splash"

          android:label="@string/app_name" >

            <intent-filter>

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

              <category android:name="android.intent.category.LAUNCHER" />

          </intent-filter>

      </activity>

       <activity

           android:name=".EsplachiActivity"

           android:label="@string/app_name" >

           <intent-filter>

              <action android:name="android.intent.action.INICIO" />

 

              <category android:name="android.intent.category.DEFAULT" />

           </intent-filter>

       </activity>

   </application>

 

</manifest>

 

EsplachiActivity.java

 

package com.esplachi;

 

import android.app.Activity;

import android.os.Bundle;

 

public class EsplachiActivity extends Activity {

 /** Called when the activity is first created. */

 @Override

 public void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         setContentView(R.layout.main);

 }

}

 

Splash.java

 

package com.esplachi;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

 

public class Splash extends Activity {

 

 @Override

 protected void onCreate(Bundle savedInstanceState) {

 

         super.onCreate(savedInstanceState);

         setContentView(R.layout.splash);

 

         // cria um timer

         Thread timer = new Thread() {

 

                 @Override

                 public void run() {

                         try {

                                 sleep(3000); // delay de 3 segundos NAO ACONSELHADO USAR SLEEP

 

                         } catch (InterruptedException e) {

                                 e.getStackTrace();

                         } finally {

                                 // aqui abre a tela principal

                                 Intent abrePrincipal = new Intent("android.intent.action.INICIO");

                                 startActivity(abrePrincipal);

                         }

                 }

         };

         

         timer.start();

 }

 

 @Override

 protected void onPause() {

    super.onPause();

    // isto aqui faz com que a tela "splash" não volte quando pressionar VOLTAR

         finish();

 }

}