écran blanc vient avant les éclaboussures
Le problème principal est l'écran de démarrage s'affiche au bout de 2-3 secondes. Avant l'écran de démarrage d'un modèle vierge apparaît que je ne veux pas. Sinon il fonctionne très bien. Voulez juste pour retirer le cache de mise en page qui s'affiche avant le démarrage de la page.
MainActivity:
public class MainActivity extends Activity {
private static String TAG = MainActivity.class.getName();
private static long SLEEP_TIME = 5; //Sleep for some time
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE); //Removes title bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //Removes notification bar
setContentView(R.layout.activity_main);
//Start timer and launch main activity
IntentLauncher launcher = new IntentLauncher();
launcher.start();
}
private class IntentLauncher extends Thread {
@Override
/**
* Sleep for some time and than start new activity.
*/
public void run() {
try {
//Sleeping
Thread.sleep(SLEEP_TIME*1000);
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
//Start main activity
Intent intent = new Intent(MainActivity.this, Login.class);
MainActivity.this.startActivity(intent);
MainActivity.this.finish();
}
}
}
en page principale
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/splash"
tools:context=".MainActivity" >
</RelativeLayout>
source d'informationauteur Somnath Pal | 2015-05-20
Vous devez vous connecter pour publier un commentaire.
Généralement les écrans de démarrage ne sont pas recommandés pour une application, mais si vous devez vraiment.
Android vous permettra de charger un modèle vierge avant de charges en fonction du thème que vous devez définir pour. La solution est de le le thème le démarrage de l'activité d'un transparent.
Créer un transparent thème dans
res/values/styles.xml
Ensuite définir le thème dans votre manifeste
Il suffit de mentionner la transparence thème pour le démarrage de l'activité dans le AndroidManifest.xml fichier.
Il est préférable d'utiliser une sur le Thème de fond pour votre démarrage d'activité, mais si vous ne voulez pas l'écran vide s'affiche avant le lancement de l'activité principale que vous pouvez définir votre activité comme ceci:
Ajouter
android:windowDisablePreview
à votre AppTheme dans res/values/styles.xml:Puis réglez votre activité à thème dans votre manifeste:
P. S: Réglage
android:windowDisablePreview
n'a aucun effet sur votre activité en arrière-plan, de sorte que vous n'avez rien à s'inquiéter.Le problème auquel vous êtes confronté, ici, est appelé "démarrage à froid" et c'est le moment pour la plupart passé dans votre
Application.onCreate
méthode, qui n'est généralement certaines initialisations et il pourrait prendre plus de temps que vous le souhaitez. Vous pouvez lire ici la documentation officielle: https://developer.android.com/topic/performance/launch-time.htmlSi c'est le cas de celui de définir le thème de la translucides ou désactiver l'aperçu que d'autres ont suggéré de ne apparemment résoudre le problème, parce qu'en réalité, vous essayez de lancer l'application et vous ne recevez pas tous les commentaires sur le fait que vous avez touché l'icône de l'application. Vous verrez votre app de départ avec un temps de retard, ce qui n'est pas souhaité UX.
En blanc, en noir ou blanc à l'écran, cela dépend vraiment de la
android:windowBackground
de l'attribut spécifié dans votre activité principale thème.Le meilleur que vous pouvez faire, en dehors de déplacement de certaines initialisations que vous êtes probablement en train de faire dans votre
Application.onCreate
méthode, est la marque de votre fenêtre de prévisualisation avec un logo comme il est suggéré dans ce post:https://plus.google.com/+AndroidDevelopers/posts/Z1Wwainpjhd
Vous pouvez aller plus loin et d'améliorer l'expérience de l'utilisateur par l'animation de votre logo image dans un écran d'accueil, si c'est le cas, ou par la conception de la fenêtre aperçu d'une manière qui peut être lisse passé à votre activité principale contenu, comme décrit ici:
http://saulmm.github.io/avoding-android-cold-starts
Même question est posée correctement ici: https://stackoverflow.com/a/40482549/7094200 et décrit dans ce billet de blog: https://www.bignerdranch.com/blog/splash-screens-the-right-way/
Il' s caractéristiques android. Vous pouvez changer la couleur d'arrière-plan de votre blankscreen. Utiliser le style:
ensuite l'utiliser dans le manifeste:
Vraiment! le lien ci-dessous le travail pour moi!!!!
https://cyrilmottier.com/2013/01/23/android-app-launching-made-gorgeous/
écrire le style séparée dans style.xml pour votre écran de démarrage de sorte que vous pouvez co-concernent à la fois l'écran.
Ici le style: