Page transition for Main Page/ Extended splash screen (WinPhone)

We're creating an extended splash screen for our app. For WinPhone, the system splash image is displayed then the app navigates to the extended splash screen. I'd like to skip the transition as this breaks the smooth transition form splash image to extended splash screen.

In this case its the transition from WinPhone splash image and the app MainPage, we we are not calling Push where it would be possible to set the animation flag.

Answers

  • JohnHardmanJohnHardman GBUniversity mod

    @BruceWilkins - could you clarify what you mean by the "system splash image" please?

  • BruceWilkinsBruceWilkins USMember

    Windows phone allows you specify a SplashScreenImage.jpg.

    The idea is to create a smooth transition to the first page of the app (MainPage) that appears the same as the SplashScreenImage.jpg so that the app can start doing some long running initialisation.

  • JohnHardmanJohnHardman GBUniversity mod

    @BruceWilkins - what sort of transition are you seeing? Is it an animation, or a momentary flicker, or something else?

    The reason I ask, is that I do not see animation on WinPhone when my app goes from the splash screen to the first functional screen.

    In the constructor of my App (Application) class, I do:

            MainMenuPageView mainPageView = new MainMenuPageView(this, myArgs);
            NavigationPage navigationPage = new NavigationPage(mainPageView);
            MainPage = navigationPage;
    

    where MainMenuPageView is the class implementing my first page.

    Now, my first app screen does look different to the splash screen, so I cannot tell whether there would be a flicker if my first screen did look exactly the same as the splash screen, but the key thing is that I don't see any animated transition.

    I guess the other question would be - can you do your long running task before constructing the App class? There are limits on how long iOS allows you to do stuff on startup, but I'm not aware of a restriction on WinPhone (although you might want to provide a visual indication of how long is left if it is that long).

  • BruceWilkinsBruceWilkins USMember

    I'm seeing a black flicker between navigating from the the SplashScreenImage.jpg to the MainPage, not sure if its an intentional transition or not.

    To provide any kind of visual indication would require you to be in the context of the app, hence the extended splash screen.

  • JohnHardmanJohnHardman GBUniversity mod

    @BruceWilkins

    I'm not surprised by the black flicker. But ruled out animation :-)

    Just exploring options - could you get away with not having the initial splash screen? You'd need to ensure as little as possible was done before your next screen was drawn so that something was drawn quickly. Alternatively, could you have the splash screen and the next screen identical, other than they somehow show a change in status, so that the user knows that something is happening (e.g. "Loading" on the first one, and "Initialising" on the second) and hopefully will not question the momentary flicker as a result?

    Other than that, I would assume it would require working with RootVisual and RootFrame in App. I'm not sure if that is documented anywhere. Probably a question for Xamarin themselves once you get into that area.

  • BruceWilkinsBruceWilkins USMember

    Can anyone comment on manipulating RootVisual and RootFrame for this purpose?

  • BastiBrauningBastiBrauning USMember

    I have exact the same problem on android and winphone.

    I can't get a smooth transition to work from the initial "SplashScreen.png" to the Xamarin.Forms page.

    Setting the MainPage always creates a flicker between the Platform specific Image and the Xamarin.Forms page, even if I use the same Images, you still see very short flicker when the "SplashScreen.png" get's replaced by the Xamarin.Forms page.

    Any ideas on this?

  • BruceWilkinsBruceWilkins USMember

    In the end we set the SplashScreen.png to a pure black image. There is probably a more correct solution but this was an quick, easy work around to get rid of the ugly flickering.

Sign In or Register to comment.