Tutorial Forca #7 - Tela de entrada (splashscreen)

Boa tarde amigos!

Sei que o blog está a um tempo parado já, mas é que as coisas estão um pouco corridas.
Estou tentando retomar as postagens, mas hoje vai ser jogo rápido.
A tela de entrada do aplicativo. Alguns tem, outros não, vai de cada desenvolvedor. Geralmente conta com a logo da empresa/desenvolvedor do aplicativo ou com alguma propaganda (um assunto que pretendo abordar em breve aqui).

Bom... vamos ao que interessa. Vamos criar primeiro o layout da nossa tela de entrada:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" />
    <ImageView
        android:id="@+id/imageView1"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@null"
        android:src="@drawable/tuto_forca" />
</RelativeLayout>
É um layout simples, contendo apenas uma imagem antes de iniciar realmente a aplicação.
Agora vamos criar a classe chamada SplashscreenActivity com o seguinte código:
public class SplashscreenActivity extends Activity implements Runnable {

    private final int DELAY = 3000;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splashscreen);

        Handler handler = new Handler();
        handler.postDelayed(this, DELAY);
    }

    public void run() {
        Intent i = new Intent(SplashscreenActivity.this, MainActivity.class);
        startActivity(i);
        SplashscreenActivity.this.finish();
    }
}
Não lembro se já comentei em alguma outra postagem, mas para fazer as importações necessárias, basta pressionar Ctrl + o que todos os imports necessários são feitos. A variável DELAY é a responsável pelo tempo de exibição da tela.
Bom, um ponto importante deste código é lembrar de finalizar esta activity assim que ela chamar a tela principal do jogo, pois caso isso não seja feito, ao clicar em voltar, essa tela inicial volta a aparecer e isso não seria muito legal.
É preciso fazer uma alteração também no AndroidManifest, deixando-o assim:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="br.com.blogspot.androidandrekunde.forcalite"
    android:versionCode="1"
    android:versionName="1.0"
    android:installLocation="auto" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".SplashscreenActivity"
            android:label="@string/title_activity_main"
            android:screenOrientation="landscape" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".GameActivity" />
        <activity android:name=".MainActivity" />
    </application>

</manifest>
Basicamente o que foi feito foi declarar a SplashscreenActivity no lugar da MainActivity, fazendo dela a activity principal.
Com isso o nosso app já terá sua tela inicial.
Clique aqui para conferir todas as alterações que eu fiz no projeto.

Sobre o autor

André Luís Batista Kunde
Técnico em Informática (2004), Bacharel em Administração com ênfase em Marketing (2009), buscando ser Engenheiro de Software, Trabalhando com software educacional e me aventurando pelo mundo da programação mobile.

Um comentário:

Copyright © 2013 Aprendendo Android and Blogger Themes.