Animated splash screen for Android & iOS - flutter

To make an animation which can be used as splash screen for Android & iOS, I was thinking about using lotties (explained in this tutorial), but with Android 12 it seems like the tools used are deprecated and it's not really a good solution anymore.
I found this workaround to still make it work, but from what I understand, the splash screen is now waiting for the animation to finish, which I know is a bad practice and I don't really want to do that (maybe there is a way to interrupt it?).
I have seen some packages on pub.dev, but the animated ones seem to not really replace the launch screen (the white screen by default) and just start after it.
So my question is : is there any other way to create one animation which can be used both on Android & iOS? (which would be a looping animation, interrupted when the app is ready).

Related

Flutter Native SplashScreens Background processes

I have created SplashScreens for my Flutter app for both iOS and Android using the native way which is editing the LaunchScreen.storyboard and it is working currently when I run my app but the SplashScreen does not hold long enough and is there a way to programmatically hide the native splashscreen in dart after I am done with some data processing and logic?
The solutions I found online are all flutter apps with SplashScreen that is build using flutter widgets and not the native way...
Even if you build the splash screen if Flutter, you still need to set one in via XCode. Otherwise, the app loads with a momentary plan white screen and Apple rejects it.
If you want to extend the time till the moment data process is over, then you will have to make a replica of LaunchScreen.storyboard in Flutter. The data processing and logic are written in Flutter. There's no way it can tell LaunchScreen.storyboard "I am done". What you can do is though, make a splash screen in Flutter which will look like LaunchScreen.storyboard. And once the data processing is done, you can navigate the user to the desired screen. Since the two screens are same, use won't see the difference and the app will smoothly show the next screen.
Just a word of caution - be careful about extending the timing of launch screen. Apple may reject the app. See if something can be done after the screen load. You can use flutter after layout package for this or the below line will do the trick :
WidgetsBinding.instance
.addPostFrameCallback((_) => myFunction(context));
This thread may help you to delay the screen for XX seconds.

Transparent canvas in flutter

I would like to create an app, that works as a framework for using e.g. the ipad.
That means, that you will start the app and continue working normally with it, while suddenly e.g. animals cross the screen.
Hence the app should create a transparent canvas on top of the ipad user interface where all animations can be played.
Do packages for that exist?
Unfortunately, what you're asking for isn't currently supported in flutter. The closest you can get is notifications at the moment using a package like this
I'm assuming you want to make something along the lines of this goose desktop application for windows. Your best bet in this situation is to go native and maybe even make your own dart package.

Switch to fullscreen

I started programming with the Google Cardboard v0.6 about a year ago. I really nailed what I was trying to do with this software. The problem is, my software requires a toggle between full screen and stereo screen modes which I have applied a canvas button for. It is also supposed to start in full screen with an option of stereo mode.
I have three questions:
With the new SDK, is it possible to script a stereo to full screen toggle routine?
I noticed they make the GoogleVR as a fixed SDK mount within the build settings. I read something along the lines of widget controls within the Android SDK but I'm not to savvy with the way Android Studio reads the APK and how to modify it. Honestly, I'm running Visual Studio with a Source Control library in TFS so I want to keep it out of Android Studio as much as possible.
I also read there is supposed to be a full screen toggle button programmed directly into the SDK but it just doesn't pop up on my screen. Perhaps there's a method of making this button pop up that will save the day?
Even if the button exists, if there is a toggle button I'd love to have the script reference so I can apply it On Start in order to start in full screen mode.
Will toggling full screen reactivate screen canvases?
I know the new GoogleVR does not allow canvases because they have a RenderTexture problem. I'm not too concerned because I'm going to make the Toggle button freeze if no control device is registered to the bluetooth, and if there is I have a button on the control device that returns to full screen (or hopefully with that magical screen button that should exist). Whether I can toggle between the two settings is not going to make a difference if it still doesn't allow for Canvases in full screen.
My greatest frustration right now is with the discontinuation of the scripts on build. I've been using the GVRViewer and such which work just like the V0.6 software, but it appears to completely negate these scripts on build and force the build to use the SDK. I've read in the release notes that at the moment they have no intention of returning to the v0.6 platform and even recommend rolling it back to v0.6 if this is the case, but honestly - if we are forced to use an antiquated version of the software, how long will it be before it gets phased out? In my opinion based on my current observations, this feels a lot like a "one step forward, two steps back" situation.

How make the splash screen last longer in a xCode project? [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Displaying splash screen for longer than default seconds
I am developing a simple game from an open source xcode project.
I am a complete beginner in xcode, and I don't know anything.
The splash screen lasts while the game is loading, but the game is so simple that the splash sscreen stays on the screen about half a second.
I don't want that, I would like it to stay for about 5 seconds.
Thanks.
You should no delay the splash screen, since it's not splash screen. it's place holder for the app while is it loading.
If you read the Apple HIG you will read that delaying it is not allowed.
If you think that following these guidelines will result in a plain,
boring launch image, you’re right. Remember, the launch image is not
meant to provide an opportunity for artistic expression; it is solely
intended to enhance the user’s perception of your app as quick to
launch and immediately ready for use.
Duplicate of: Displaying splash screen for longer than default seconds
You don't need the splashscreen to last longer. You need to make a UIViewController which shows the splashscreen a little longer. You can also show the user what your app is doing (the loading stuff) then, which fits better in the Apple way of thinking.
Render same loading screen from code at launch till ur loading completes.

How to relaunch an Air-based iOS application from the very first page?

My application is an Air-based iPhone app. It opens with the last page I visited before clicking the Home button, each time I relaunch the app, while I need to open with the splash screen onward. How can I resolve this issue?
Thank you for any help.
When you press the Home button, you don't terminate a running app. I'm sure that many of us developers have stuck with this mental model of how iOS used to work without multitasking.
So, the splash screen, or rather, the default image (Default.png) should really appear once (when your application launches). Some times, the default image appears when coming out from the background state, but this happens only if your app takes too long to show its UI. In fact, on fast iPhones, the default image disappears almost instantly even on launch (for well-written apps, that is).
I should also note that Apple actively discourages the use of the default image for splash screens. These should only be used for creating an illusion of transition, from a "launching state" (which the default image is supposed to portray), to the running state.
However, if you really have to show a splash screen every time, you should implement such a mechanism in code. applicationDidBecomeActive: is a good place to start, if you are writing code in Objective-C.
I don't know the event model in Air, so I can't really give you any hints for that.
The above answer, though old, does not answer the question. Sure, Apple gives guidelines regarding splash screen and all, but the poster asks how to prevent the app from resuming from it's previous position. If you want the app to terminate when put in the background you need to look into the UIApplicationExitsOnSuspend option. There's also an Adobe blog post explaining a bit more about different background behaviors.