lordzwieback
Erfahrenes Mitglied
- 210
Moin,
ich habe mich gestern Abend noch mal hingesetzt und ein wenig an meiner App rumgeschraubt. Unter anderem wollte ich einen Willkommensbildschirm einbauen, welcher nach ein paar Sekunden verschwindet und dann auf die MainActivity wechselt.
Da das ganze nicht wirklich schwer war und ich hier nichts dazu finden konnte, dachte ich mir ich stelle das mal hier ein. Vielleicht interessiert sich ja noch jemand dafür.
Als erstes erstellt ihr eine neue Activity (z.B. SplashActivity.java). Danach öffnet ihr eure manifest.xml Datei. Hier sollte folgendes bei eurer bisherigen StartActivity stehen:
Kommentiert diese Zeilen (nur den Intent-Filter) unter eurer Haupt Activity aus und bindet diese in eurer SplashActivity folgendermaßen ein:
Kleiner Tipp: Auskommentieren in XML Dateien = <!-- Kommentar/Code -->
Jetzt könnt ihr unter res/layout/ die Datei activity_splash.xml anpassen (Firmenlogo, App Name einbauen usw usw...).
Fügt jetzt im letzten Schritt die folgenden Codeschnipsel in euer SplashActivity.java File:
In OnCreate:
Im OnStop:
Sollte alles wie gewünscht funktionieren, kann der momentan noch auskommentierte Intent-Filter in der früheren Start Activity rausgenommen werden.
Sollte etwas an meinem Beispiel nicht stimmen oder Probleme auftauchen beim Einbauen, einfach melden. Bin für Verbesserungsvorschläge offen.
Viel Spaß beim Nachbauen,
lordzwieback
ich habe mich gestern Abend noch mal hingesetzt und ein wenig an meiner App rumgeschraubt. Unter anderem wollte ich einen Willkommensbildschirm einbauen, welcher nach ein paar Sekunden verschwindet und dann auf die MainActivity wechselt.
Da das ganze nicht wirklich schwer war und ich hier nichts dazu finden konnte, dachte ich mir ich stelle das mal hier ein. Vielleicht interessiert sich ja noch jemand dafür.
Als erstes erstellt ihr eine neue Activity (z.B. SplashActivity.java). Danach öffnet ihr eure manifest.xml Datei. Hier sollte folgendes bei eurer bisherigen StartActivity stehen:
Code:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Kommentiert diese Zeilen (nur den Intent-Filter) unter eurer Haupt Activity aus und bindet diese in eurer SplashActivity folgendermaßen ein:
Kleiner Tipp: Auskommentieren in XML Dateien = <!-- Kommentar/Code -->
Code:
<activity
android:name=".splashActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Jetzt könnt ihr unter res/layout/ die Datei activity_splash.xml anpassen (Firmenlogo, App Name einbauen usw usw...).
Fügt jetzt im letzten Schritt die folgenden Codeschnipsel in euer SplashActivity.java File:
Code:
// timer (warte 4 sekunden bis zum Wechsel auf HauptActivity)
private static int TIMER = 4000;
// deklarieren des handlers + Runnable
final Handler mHandler = new Handler();
private Runnable mRunnable;
In OnCreate:
Code:
mHandler.postDelayed(mRunnable = new Runnable() {
@Override
public void run() {
Intent toMain = new Intent(SplashActivity.this, MainActivity.class);
startActivity(toMain);
finish();
}
}, TIMER);
mHandler.removeCallbacksAndMessages(null);
Im OnStop:
Code:
@Override
protected void onStop() {
super.onStop();
mHandler.removeCallbacks(mRunnable);
}
Sollte alles wie gewünscht funktionieren, kann der momentan noch auskommentierte Intent-Filter in der früheren Start Activity rausgenommen werden.
Sollte etwas an meinem Beispiel nicht stimmen oder Probleme auftauchen beim Einbauen, einfach melden. Bin für Verbesserungsvorschläge offen.
Viel Spaß beim Nachbauen,
lordzwieback
Zuletzt bearbeitet: