I was testing my app on my device. I noticed on one view that has a canvas which shows an image when I switch apps (swipe up and over and choose another app I have open) then come back to my app, the canvas image disappears. Is there something I could be missing? Of note, the image in this canvas does a little animation with the use of a timer. The animation is finished and the timer is stopped when I try the switch-switch back and I notice this. I have several other canvases that don’t seem to be affected. It was only on the ones with animation. Thoughts?
Here is the code in the timer
intYCoordStrike = intYCoordStrike + 2 if intYCoordStrike > canStrike1.Height then me.Mode = xojo.Core.Timer.modes.Off intYCoordStrike = 0 else if GameStrikes = 1 then canStrike1.Invalidate elseif GameStrikes = 2 then canStrike2.Invalidate elseif GameStrikes = 3 then canStrike3.Invalidate elseif GameStrikes = 4 then canStrike4.Invalidate 'end game whichButton = HomeButton 'changes button canBtnSpinStop.Invalidate timerEndGame.Mode = xojo.Core.timer.Modes.Single 'timer stalls then shows the game over message pSpins = 0 lblSpins.Text = "Sp: " + pSpins.ToText end if end if
And here is the code in one of the canvases
'light purple background g.FillColor = &cF1E9FC g.FillRect(0, 0, me.Width, me.Height) 'darker border g.FillColor = &c8843E2 g.FillRect(0, 0, me.Width, me.Width * 0.1) 'top g.FillRect(0, 0, me.Width * 0.1, me.Height) 'left g.FillRect(0, me.Height - me.Width * 0.1, me.Width, me.Width * 0.1) 'bottom g.FillRect(me.Width - me.Width * 0.1, 0, me.Width * 0.1, me.Height) 'right 'strike card image g.DrawImage(StrikeCardwhammy, 0, me.Height - intYCoordStrike, me.Width, me.Height)
Is the fact that I am zeroing out the intYCoordStrike variable in the timer when the animation is complete, and the canvas performs another Invalidate when going out and coming back into the app? Hence rendering the canvas’s y-coordinate back to the height of the canvas, which would make it appear invisible?