Splash

5 respostas
anderson.bonavides

Desculpem-me mas eu tenho 2 perguntas pois sou iniciante em Android:

[i]Como fazer após a tela Splash ser redirecionado para uma nova tela?

Algum exemplo desta nova tela com vários icones por favor?[/i]

5 Respostas

fabriciov
anderson.bonavides:
Desculpem-me mas eu tenho 2 perguntas pois sou iniciante em Android:

Como fazer após a tela Splash ser redirecionado para uma nova tela?

Algum exemplo desta nova tela com vários icones por favor?

Crie uma Activity para ser o launcher/Splash, adicione os componentes que queira que apareça nela (imageview, texto, progress, etc)
ai no onResume desta ativity você vai fazer um postDelayed de um runnable que chama a sua próxima activity (a principal da aplicação)

private Runnable mRunnable = new Runnable() {

        @Override
        public void run() {
        Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
        CurrentActivity.this.startActivity(myIntent);
        CurrentActivity.this.finish();
        }
}

private Handler mHandler = new Handler();

    @Override
    protected void onResume() {  //quando a activity esta no onResume os componentes visuais estão a amostra. 
     mHandler.postDelayed(mRunnable , 5000) //temo em milis de quanto tempo o plash vai ficar na tela.
    }

no Manifest altere a categoria Launcher para a activity do slash

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

Talvez tenha que fazer um tratamento para verificar se o slash ja foi iniciado ou não, para caso o usuário tenha alterado de aplicação no meio do slash e não fazer com que o postDelayed seja chamado 2x.

anderson.bonavides

Está dando erro na minha active quando instancio a classe Intent:

fabriciov

Creio que o erro é porque esta utilizando “this” dentro de um Runnable, tornando o valor de this um Runnable e não um Context.

Para solucionar é so colocar:

anderson.bonavides

[quote=fabriciov]Creio que o erro é porque esta utilizando “this” dentro de um Runnable, tornando o valor de this um Runnable e não um Context.

Para solucionar é so colocar:

E quando o startActivity(intent); não chama a outra Active é porque faltou alguma notação?

anderson.bonavides

[quote=anderson.bonavides]

fabriciov:
Creio que o erro é porque esta utilizando “this” dentro de um Runnable, tornando o valor de this um Runnable e não um Context.

Para solucionar é so colocar:

E quando o startActivity(intent); não chama a outra Active é porque faltou alguma notação?

Desculpem mas faltou add o active no manifest.

Criado 10 de julho de 2013
Ultima resposta 10 de jul. de 2013
Respostas 5
Participantes 2