2016-06-01 11 views
0

Ich versuche, meine UWP-App durch Hinzufügen eines ExtendedSplashScreen zu erreichen. In UWP sollte der SplashScreen bestimmte Dimensionen haben und in SplashRect in der Mitte der Seite hinzugefügt werden. Ich möchte:ExtendedSplashScreen mit benutzerdefinierter Größe und Animation C# UWP

  1. Splash nehmen alle Bildschirmgröße (für unterschiedliche Bildschirmgrößen)
  2. Machen Sie eine Animation von verschiedenen Bildern nach jedem anderen anzeigt.

Könnte dies erreicht werden? Ist es in UWP-Designrichtlinien erlaubt? Irgendwelche Hilfe, die das bewerkstelligen?

+0

Give it [a Schuss] (https://code.msdn.microsoft.com/Splash-Screen-in-Universal-42c0b57a/sourcecode?fileId=146755&pathId=1712287960) und kommen zurück, wenn Sie führe ein bestimmtes Problem durch, nachdem du es zuerst versucht hast. –

+0

"Wenn Sie Ihren erweiterten Begrüßungsbildschirm verwenden, um mehrere verschiedene Splash-Screen-Bilder anzuzeigen, kann dies den Benutzer ablenken und für Ihre Benutzer verwirrend oder verwirrend sein." - [Richtlinien für Startbildschirme] (https://msdn.microsoft.com/library/windows/apps/hh465338.aspx) –

Antwort

0

Konnte dies erreicht werden?

Ja, ich habe eine fertige Demo hochgeladen, um Ihre Anforderungen zu erfüllen. Sie können die Lösung zum Testen herunterladen. Um Ihre Anforderung zu erfüllen,

Machen Sie eine Animation der Anzeige verschiedener Bilder nach einander.

Ich implementiere dies mit einem FlipView-Steuerelement und einem DispatcherTimer. Der Begrüßungsbildschirm kann das Bild einzeln nacheinander anzeigen.

Splash alle Bildschirmgröße nehmen (für unterschiedliche Bildschirmgrößen)

Die FlipView immer die Größe des Fensters passen und das Bild in voller Fenster in verschiedenen Geräten angezeigt.

XAML-Code:

<FlipView x:Name="ImageFlipView"> 
    <Image Source="ms-appx:///Assets/caffe600320.jpg" Stretch="Fill" /> 
    <Image Source="ms-appx:///Assets/cafee2.jpg" Stretch="Fill" /> 
    <Image Source="ms-appx:///Assets/caffe3.jpg" Stretch="Fill" /> 
</FlipView> 

-Code hinter:

private SplashScreen splash; // Variable to hold the splash screen object 
internal bool dismissed = false; // Variable to track splash screen dismi 
internal Frame rootFrame; 
private readonly DispatcherTimer _timer; 

public ExtendedSplash(SplashScreen splashscreen, bool loadState) 
{ 
    this.InitializeComponent(); 
    StatusBar statusbar = StatusBar.GetForCurrentView(); 
    statusbar.HideAsync(); 
    if (splash != null) 
    { 
     splash.Dismissed += new TypedEventHandler<SplashScreen, Object>(D 
    } 
    rootFrame = new Frame(); 
    _timer = new DispatcherTimer 
    { 
     Interval = TimeSpan.FromSeconds(2) 
    }; 
    _timer.Tick += ChangeImage; 
    _timer.Start(); 
} 

private void ChangeImage(object sender, object e) 
{ 
    var totalItems = ImageFlipView.Items.Count; 
    var newItemIndex = (ImageFlipView.SelectedIndex + 1) % totalItems; 
    ImageFlipView.SelectedIndex = newItemIndex; 
} 
void DismissedEventHandler(SplashScreen sender, object e) 
{ 
    dismissed = true;    
} 

Ist es in UWP Design guidlines erlaubt?

Aus dem offiziellen Dokument Display a splash screen for more time,

Stellen Sie sicher, Ihre erweiterten Begrüßungsbildschirm imitiert genau den Standard-Begrüßungsbildschirm diese Empfehlungen durch folgende:

Das Dokument Ihre eigene erweitert auf die Schaffung von Empfehlungen hat Begrüßungsbildschirm. Die beste Vorgehensweise besteht darin, den Empfehlungen zu folgen. Und die Richtlinien für Splash-Screens schlagen auch uns:

  • nicht den Splash-Screen verwenden Sie oder Ihre erweiterten Begrüßungsbildschirm Werbung anzuzeigen.
  • Verwenden Sie den erweiterten Begrüßungsbildschirm nicht als Mechanismus zum Anzeigen mehrerer unterschiedlicher Begrüßungsbildschirmbilder. Der Zweck des Begrüßungsbildschirms und des erweiterten Begrüßungsbildschirms besteht darin, Ihren Benutzern ein reibungsloses, optimiertes Ladeerlebnis zu bieten.
  • Verwenden Sie nicht den Begrüßungsbildschirm oder den erweiterten Begrüßungsbildschirm, um eine "Info" -Seite anzuzeigen.