J'ai une application Android qui affiche un écran blanc pendant 2 secondes au démarrage. Mes autres applications ne le font pas, mais celle-ci le fait. J'ai également implémenté un écran de démarrage dans l'espoir qu'il résoudrait ce problème. Dois-je augmenter la durée de veille de mon écran de démarrage? Merci.
android
splash-screen
app-startup
Anonyme
la source
la source
onCreate
part. Essayez de simplement "setContentView" dans cette activité et vérifiez si ce délai a disparu.Réponses:
Mentionnez simplement le thème transparent à l'activité de démarrage dans le fichier AndroidManifest.xml.
Comme:
et étendre cet écran avec la
Activity
classe à la place deAppCompatActivity
.comme :
la source
final ActionBar actionBar = getActionBar();
retournera null lorsque le thème est translucideMettez cela dans un style personnalisé et cela résout tous les problèmes. L'utilisation du correctif translucide hacky rendra votre barre des tâches et votre barre de navigation translucides et fera ressembler l'écran de démarrage ou l'écran principal à des spaghettis.
<item name="android:windowDisablePreview">true</item>
la source
Comme votre tube .. initialement, ils affichent un écran d'icône au lieu d'un écran blanc. Et après 2 secondes, l'écran d'accueil s'affiche.
créez d'abord un dessin XML dans res / drawable.
Ensuite, vous définissez cela comme arrière-plan de votre activité de démarrage dans le thème. Accédez à votre fichier styles.xml et ajoutez un nouveau thème pour votre activité de démarrage
Dans votre nouveau SplashTheme, définissez l'attribut d'arrière-plan de la fenêtre sur votre dessin XML. Configurez ceci en tant que thème de votre activité de démarrage dans votre AndroidManifest.xml:
Ce lien donne ce que vous voulez. procédure étape par étape. https://www.bignerdranch.com/blog/splash-screens-the-right-way/
METTRE À JOUR:
Le
layer-list
peut être encore plus simple comme celui-ci (qui accepte également les dessins vectoriels pour le logo centré, contrairement à la<bitmap>
balise):la source
mipmap/ic_launcher
layer-list
peut être celui-ci:<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Background color --> <item android:drawable="@color/white"/> <!-- Logo at the center of the screen --> <item android:drawable="@mipmap/ic_launcher" android:gravity="center"/> </layer-list>
Créez un style dans votre style.xml comme suit:
et utilisez-le avec votre activité dans AndroidManifest comme:
la source
Vous devriez lire ce super article de Cyril Mottier: le lancement de l'application Android rendu magnifique
Vous devez personnaliser votre
Theme
dans style.xml et éviter de le personnaliser enonCreate
tant que ActionBar.setIcon / setTitle / etc.Consultez également la documentation sur les conseils de performance de Google.
Utilisez
Trace View
etHierarchy Viewer
pour afficher l'heure d'affichage de vos vues: Optimisation des performances Android / Réglage des performances sur AndroidUtilisez
AsyncTask
pour afficher certaines vues.la source
Ceci est mon AppTheme sur un exemple d'application:
Comme vous pouvez le voir, j'ai les couleurs par défaut, puis j'ai ajouté
android:windowIsTranslucent
et défini surtrue
.Pour autant que je sache en tant que développeur Android, c'est la seule chose que vous devez définir pour masquer l'écran blanc au démarrage de l'application.
la source
Les deux propriétés utilisent l'un d'entre eux.
la source
La réponse user543 est parfaite
Mais:
Votre activité LAUNCHER doit étendre Activity , pas AppCompatActivity comme il est venu par défaut!
la source
Le fond blanc provient de l'Apptheme.You peut afficher quelque chose d'utile comme le logo de votre application au lieu d'un écran blanc.il peut être fait en utilisant un thème personnalisé.
attribut. La valeur d'attribut peut être une image ou une liste en couches ou n'importe quelle couleur.
la source
<item name="android:windowBackground">@android:color/transparent</item>
Vous trouverez ci-dessous le lien qui suggère comment concevoir un écran Splash. Pour éviter un arrière-plan blanc / noir, nous devons définir un thème avec un arrière-plan de démarrage et définir ce thème pour qu'il éclabousse dans le fichier manifeste.
https://android.jlelse.eu/right-way-to-create-splash-screen-on-android-e7f1709ba154
splash_background.xml dans le dossier res / drawable
Ajouter ci-dessous les styles
Dans le thème du jeu de manifestes comme indiqué ci-dessous
la source
J'ai également eu le même problème dans l'un de mes projets. Je l'ai résolu en ajoutant quelques paramètres suivants dans le thème fourni à l'écran de démarrage.
Vous pouvez trouver la raison et la résolution dans ce billet de blog écrit par moi. J'espère que ça aide.
la source
Il peut être résolu en définissant le thème dans votre manifeste comme
et après cela, si vous obtenez
java.lang.IllegalStateException: vous devez utiliser un thème Theme.AppCompat (ou un descendant) avec cette activité.
vous devrez peut-être étendre Activity au lieu d' AppCompatActivity dans votre MySplashActivity.
J'espère que ça aide!
la source
Le fond blanc est causé par le démarrage d'Android pendant que l'application se charge en mémoire, et cela peut être évité si vous ajoutez simplement ces 2 lignes de code sous SplashTheme.
la source
vous devez désactiver les paramètres du studio Android Instant Run.
Fichier> Paramètres> Génération, Exécution, Déploiement> Exécution instantanée décochez toutes les options qui y sont affichées.
Remarque: le problème d'écran blanc dû à l' exécution instantanée concerne uniquement les versions de débogage, ce problème n'apparaîtra pas sur les versions de version.
la source
Essayez le code suivant:
Ce code fonctionne pour moi et fonctionnera sur tous les appareils Android.
la source
Sa solution est très simple!
Il y a trois raisons fondamentales à ce problème
Solutions:
Solution 1:
Solution 2:
Solution 3:
Partagez pour vous améliorer.
la source
Cela a résolu le problème:
Modifiez votre fichier styles.xml:
Collez le code ci-dessous:
Et n'oubliez pas de faire les modifications dans le fichier AndroidManifest.xml . ( nom du thème )
Faites attention à l'ordre de déclaration des activités dans ce fichier.
la source
la source