J'essaie de mettre en œuvre une splashscreen dans mon application.
Malheureusement, rien n'apparaît avec le code que j'utilise maintenant, il saute simplement directement dans ma première activité.
Voici le code de mon fichier launch_screen.xml, qui figure dans mon dossier digue: Notez que le fichier dessinable est un atout vectoriel. P> et voici le code de mon fichier styles.xml, où je crée un nouveau thème à l'aide de ce fichier launch_screen.xml: p> code de mon manifeste: p> Quelqu'un pourrait-il me dire ce que je fais mal et comment résoudre ce problème? P> p>
6 Réponses :
Créer une activité et une conception normales dans XML Fichier puis à l'aide de l'option Post Post Dirtler.
handler.postDelayed(new Runnable(){ @Override public void run() { //startactivity finish(); } }, 7000 );
Je suppose que vous ne retariez pas le début de la nouvelle activité à partir de l'écran SPLASH qui ne montrant pas l'écran SPLASH.
Essayez: - P>
new Handler().postDelayed(new Runnable() { @Override public void run() { startActivity(yourIntent); finish(); } }, 1000);
Où dois-je mettre ce gestionnaire?
Dans la création d'une activité éclaboussure
Vous devez mettre en œuvre filtre à l'intention code> à votre SplashScreen dans
manifeste code>. Par exemple:
Merci pour votre réponse. J'ai déjà cette ligne incluse dans mon manifeste. J'ai édité ma question ci-dessus pour montrer cela.
@minkate pouvez-vous partager aperçu de la classe code> classe?
C'est juste ma première activité, il n'y a aucune référence à la SplashScreen dans cette activité
Voici mon code pour l'écran de Splash et ça fonctionne très bien: strong> où SplashScreenactivity est une activité standard déclarée dans AndroidManifest.xml P> < / p>
C'est anticitern et cela montre également que vous ne comprenez même pas ce qui est le but de l'écran des éclaboussures. L'écran Splash n'est pas destiné à ralentir le démarrage de l'application
@ user1209216 Vous avez raison si vous avez besoin d'écran SPLASH jusqu'à ce que vos données soient chargées. Mais parfois, il est nécessaire de montrer des éclaboussures à chaque fois. Dans mon application, j'ai besoin d'afficher à chaque fois.
Ce n'est pas SplashScreen, son écran de chargement. Vous n'avez aucune écran SPLASH et votre application ne démarre sans écran SPLASH, puis indique l'écran de chargement. L'écran initial Ugly Wihate est toujours là avec votre approche.
Si vous n'utilisez pas d'activité séparée pour l'écran SPLASH, vous pouvez définir le thème Splash sur l'activité dans le fichier manifeste: styles.xml p> @Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
}
C'est la seule réponse valide jusqu'à présent. Je ne vois pas de point de ralentir intentionnellement l'application d'application seulement pour montrer des éclaboussures
@minkate Êtes-vous sûr que le problème n'est pas dans l'écran de Splash est-il drable? Avez-vous essayé d'afficher une couleur d'écran en plein écran en premier? Pour voir si cela fonctionne?
@Mickverm je pense que vous avez raison .. Lorsque j'essaie d'afficher l'image, j'obtiens l'erreur suivante: Java.lang.RuntimeException: Impossible de démarrer l'activité ComponentInfo {com.example.marykate.MaryKatefordefyp / com.exam Ple.Marykate .Marykat EFORDEFYPYVENTS Activité}: Android.Content.res.Resources $ NOTFoundException: Fichier Res / Diable / Launing_Screen.xml à partir d'une ressource Diable # 0x7f0700A2 Vous ne savez pas comment gérer cela
Comme @mickverm Réponse est correct, il y a un problème avec IT - SPLASH Écran sera affiché à chaque activité est recréé par le système. Donc, dans mes applications, j'utilise toujours une activité dédiée à l'écran des éclaboussures. Cependant, l'activité n'a pas de mise en page et uniquement sur le thème de lanceur, de sorte qu'il charge immédiatement. P>
C'est décrit ici: https: //www.bignerdranch. Com / Blog / Splash-Écrans-The-Right-Way / N'utilisez aucune approche avec le manipulateur / le sommeil et l'activité complète, sauf si vous n'avez pas besoin (par exemple, de faire quelque chose en arrière-plan et de montrer des progrès sur l'écran des éclaboussures) P>
@Vrushipatel a édité mon code pour inclure cette