Is there any way to transition between screen backgrounds?

I'm interested in transitioning between screen backgrounds. I know I can assign background images and maybe using a timer I can trigger periodic background image changes. So before I attempt to do that, is there any way to transition between the images so my users are not startled by a sudden change of background image? Thanks.

Perhaps

CloseScreenAnimation which is supposed to set the animation type for the transition of this form closing and returning to a form behind it in the activity stack. This is Screen transition.

For changing the background gradually you will have to find an extension probably. The only way currently I believe is just to change the background image.

1 Like

Interesting task. :slight_smile: Try this one - Tell me if it matches your desire.

background_changes_copy.aia (20.8 KB)

The window with the 3 buttons could be the platform for your app while in the background diverse pictures are changing smoothly. You would only have to change the parameters that are relevant for the speed the pictures are changing with (the "delta" and/or the "TimerInterval").

2 Likes

Hello @Liudr,
very impressive the way @Joerg_Kowalski dit it, But I implemented it a bit differently.
I simulate 5 screens with 5 different Horizontal Backgrounds with 5 different background images.
At Screen1 initialize I set (procedure iniscreens) the height and the width of each screen to 0,0. But all "screens" with visible = True (procedure veriscreen).
Then i use an extension called Phase, that enables to apply fades to components.
So, when I want to smoothly transition between "screens" (for example Vis_screen_1) I just set the dimensions of "screens" again to 0,0, I set the height and the width of the desired "screen" to the real ones, then I apply the fade. The relevant blocks are here below.
image
image
image
image

I think it's quite simple and it works.
Give it a try.
Cheers, Ugo.

PS Please be aware that H_Screen_1 is just an HorizontalArrangement: it isn't Screen1 :smirk:
Of course whenever you want to change the "screen" you will activate other procedures such as
Vis_Screen_2 and so on (until Vis_Screen_5). All these procedures are like Vis_Screen_1: each of them is erasing the other "screens" by launching the procedure iniscreen, then it sets the real dimensions of the selected screen to be displayed, then it launches the Phase1 AnimateComponent with a new ID. Faster to do than to explain :slight_smile:

PPSS Let me say a very BIG thanks to @shreyash for his great extension !!!
image

3 Likes