Ich habe eine Android-App, die beim Start 2 Sekunden lang einen weißen Bildschirm anzeigt. Meine anderen Apps tun dies nicht, aber diese. Ich habe auch einen Begrüßungsbildschirm implementiert, in der Hoffnung, dass dies behoben wird. Sollte ich die Ruhezeit meines Begrüßungsbildschirms verlängern? Vielen Dank.
android
splash-screen
app-startup
Anonym
quelle
quelle
onCreate
. Versuchen Sie in dieser Aktivität nur "setContentView" und überprüfen Sie, ob diese Verzögerung weg ist.Antworten:
Erwähnen Sie einfach das transparente Thema für die Startaktivität in der Datei AndroidManifest.xml.
Mögen:
und erweitern Sie diesen Bildschirm mit
Activity
Klasse anstelle vonAppCompatActivity
.mögen :
quelle
final ActionBar actionBar = getActionBar();
wird null zurückgeben, wenn das Thema durchscheinend istStellen Sie dies in einen benutzerdefinierten Stil und es löst alle Probleme. Wenn Sie den hackigen durchscheinenden Fix verwenden, werden Ihre Taskleiste und die Navigationsleiste durchscheinend und der Begrüßungs- oder Hauptbildschirm sieht aus wie Spaghetti.
<item name="android:windowDisablePreview">true</item>
quelle
Wie Sie Tube .. anfangs zeigen sie Symbolbildschirm anstelle von weißem Bildschirm. Und nach 2 Sekunden wird der Startbildschirm angezeigt.
Erstellen Sie zunächst ein XML-Zeichen in res / drawable.
Als Nächstes legen Sie dies als Hintergrund für Ihre Splash-Aktivität im Thema fest. Navigieren Sie zu Ihrer Datei styles.xml und fügen Sie ein neues Thema für Ihre Begrüßungsaktivität hinzu
Legen Sie in Ihrem neuen SplashTheme das Fensterhintergrundattribut auf Ihr XML-Zeichenelement fest. Konfigurieren Sie dies als Thema Ihrer Splash-Aktivität in Ihrer AndroidManifest.xml:
Dieser Link gibt, was Sie wollen. Schritt für Schritt. https://www.bignerdranch.com/blog/splash-screens-the-right-way/
AKTUALISIEREN:
Das
layer-list
kann noch einfacher wie folgt (die auch Vektor Drawables für das zentrierte Logo, anders als die akzeptiert<bitmap>
Tag):quelle
mipmap/ic_launcher
layer-list
kann dies:<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>
Erstellen Sie einen Stil in Ihrer style.xml wie folgt:
und verwenden Sie es mit Ihrer Aktivität in AndroidManifest als:
quelle
Sie sollten diesen großartigen Beitrag von Cyril Mottier lesen: Der Start der Android-App ist großartig
Sie müssen Ihre
Theme
in style.xml anpassen und vermeiden, sie in IhreronCreate
als ActionBar.setIcon / setTitle / etc.Siehe auch die Dokumentation zu Leistungstipps von Google.
Verwenden Sie
Trace View
undHierarchy Viewer
, um die Zeit zum Anzeigen Ihrer Ansichten anzuzeigen: Android-Leistungsoptimierung / Leistungsoptimierung unter AndroidVerwenden Sie
AsyncTask
diese Option , um einige Ansichten anzuzeigen.quelle
Dies ist mein AppTheme für eine Beispiel-App:
Wie Sie sehen können, habe ich die Standardfarben und dann habe ich die hinzugefügt
android:windowIsTranslucent
und auf eingestellttrue
.Soweit ich als Android-Entwickler weiß, ist dies das einzige, was Sie einstellen müssen, um den weißen Bildschirm beim Start der Anwendung auszublenden.
quelle
Beide Eigenschaften verwenden eine von ihnen.
quelle
Die Antwort von user543 ist perfekt
Aber:
Sie sind LAUNCHER-Aktivität muss Aktivität erweitern , nicht AppCompatActivity, wie es standardmäßig kam!
quelle
Der weiße Hintergrund stammt aus dem Apptheme. Sie können etwas Nützliches wie Ihr Anwendungslogo anstelle des weißen Bildschirms anzeigen. Dies kann mithilfe eines benutzerdefinierten Themas erfolgen. Fügen Sie in Ihrem App-Theme einfach etwas hinzu
Attribut. Der Attributwert kann ein Bild oder eine Ebenenliste oder eine beliebige Farbe sein.
quelle
<item name="android:windowBackground">@android:color/transparent</item>
Unten finden Sie den Link zum Entwerfen des Begrüßungsbildschirms. Um einen weiß / schwarzen Hintergrund zu vermeiden, müssen wir ein Thema mit Begrüßungshintergrund definieren und dieses Thema so einstellen, dass es in der Manifestdatei angezeigt wird.
https://android.jlelse.eu/right-way-to-create-splash-screen-on-android-e7f1709ba154
splash_background.xml im Ordner res / drawable
Fügen Sie unten Stile hinzu
Im Manifest-Set-Thema wie unten gezeigt
quelle
Ich hatte auch das gleiche Problem in einem meiner Projekte. Ich habe es behoben, indem ich dem Begrüßungsbildschirm einige der folgenden Parameter hinzugefügt habe.
Den Grund und die Lösung finden Sie in diesem von mir verfassten Blog-Beitrag . Ich hoffe es hilft.
quelle
Sie können dies beheben, indem Sie das Thema in Ihrem Manifest als festlegen
und danach, wenn Sie
java.lang.IllegalStateException erhalten: Sie müssen für diese Aktivität ein Theme.AppCompat-Design (oder einen Nachkommen) verwenden.
In diesem Fall müssen Sie möglicherweise Activity anstelle von AppCompatActivity in Ihrer MySplashActivity erweitern.
Ich hoffe es hilft!
quelle
Weißer Hintergrund wird durch das Starten von Android verursacht, während die App im Speicher geladen wird. Dies kann vermieden werden, wenn Sie nur diese 2 Codezeilen unter SplashTheme hinzufügen.
quelle
Sie sollten Instant Run Android Studio-Einstellungen deaktivieren.
Datei> Einstellungen> Erstellen, Ausführen, Bereitstellen> Sofortige Ausführung Deaktivieren Sie alle dort angezeigten Optionen.
Hinweis: Das Problem mit dem weißen Bildschirm aufgrund der sofortigen Ausführung tritt nur bei Debug-Builds auf. Dieses Problem tritt bei Release-Builds nicht auf.
quelle
Versuchen Sie den folgenden Code:
Dieser Code funktioniert für mich und funktioniert auf allen Android-Geräten.
quelle
Die Lösung ist sehr einfach!
Es gibt drei grundlegende Gründe für dieses Problem
Lösungen:
Lösung 1:
Lösung 2:
Lösung 3:
Teilen, um sich zu verbessern.
quelle
Dies löste das Problem:
Bearbeiten Sie Ihre Datei styles.xml:
Fügen Sie den folgenden Code ein:
Und vergessen Sie nicht, die Änderungen in der Datei AndroidManifest.xml vorzunehmen . ( Name des Themas )
Achten Sie auf die Deklarationsreihenfolge der Aktivitäten in dieser Datei.
quelle
quelle