2 Stimmen

Xamarin: Splash-Bildschirm mit einem Layout verwenden

Ich versuche, einen Splash Screen für meine Android-Anwendung zu erstellen, wie in diesem Link gezeigt http://developer.xamarin.com/guides/android/user_interface/creating_a_splash_screen/

Leider zeigt dieser Link nur, wie man einen Splash Screen mit einem Drawable erstellt. Aber was ich tun muss, ist einen Splash Screen mit einem Layout zu erstellen, sodass ich einfach anpassen kann, wie es aussieht und es mit verschiedenen Bildschirmgrößen kompatibel machen kann.

Vielen Dank

9voto

arnfada Punkte 482

Was Sie tun können, ist eine Aktivität zu erstellen, die Ihren Splash Screen darstellt. Z.B. SplashActivity. Wenn Ihre SplashActivity erstellt wird, starten Sie einen Timer (z.B. System.Timers.Timer) mit einer Dauer von 3 Sekunden. Wenn diese 3 Sekunden verstrichen sind, starten Sie einfach die Hauptaktivität Ihrer App.

Um zu verhindern, dass der Benutzer zur Splash-Aktivität zurücknavigiert, fügen Sie einfach die NoHistory = true-Eigenschaft dem ActivityAttribute hinzu (direkt über der Klassendeklaration der Aktivität).

Siehe Beispiel:

    [Activity(MainLauncher = true, NoHistory = true, Label = "Meine Splash-App", Icon = "@drawable/icon")]
    public class SplashActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Splash);

            Timer timer = new Timer();
            timer.Interval = 3000; // 3 Sek.
            timer.AutoReset = false; // Timer nach Ablauf nicht zurücksetzen
            timer.Elapsed += (object sender, ElapsedEventArgs e) =>
            {
                StartActivity(typeof(MainActivity));
            };
            timer.Start();
        }
    };

    [Activity (Label = "Hauptaktivität")]
    public class MainActivity : Activity
    {
        protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);

            // Setze unsere Ansicht aus der "main" Layout-Ressource
            SetContentView (Resource.Layout.Main);
        }
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X