Hi guys.
I have a little question about animation performance on different devices and OS.
I’m trying to make a simple animation when the keyboard is visible:
My header component:
<Panel ux:Class="Timewax.LoginPageHeader">
<ImageSource ux:Property="Logo" />
<Panel Color="LoginBackground" Height="250" ux:Name="backPanel">
<WhileKeyboardVisible>
<Scale Y="0.7" Duration="0.3" Easing="QuadraticInOut"/>
</WhileKeyboardVisible>
</Panel>
<Image Source="{Property Logo}" Width="200" Height="200" Layer="Overlay"/>
</Panel>
My Login.ux:
<Timewax.LoginPageHeader Margin="0,0,0,50" Logo="mainLogo" Dock="Top" ux:Name="pageMainLogo">
<WhileKeyboardVisible>
<Change pageMainLogo.Margin="0,0,0,-40" Duration="0.3" Easing="QuadraticInOut" />
<Move Y="-0.2" Duration="0.3" Easing="QuadraticInOut" RelativeTo="Size"/>
</WhileKeyboardVisible>
</Timewax.LoginPageHeader>
But I’m having different behaviours in the devices I have. The devices I have tested this on are:
Android:
- OnePlus 3 (Android 7.0)
- Nexus 5 (Android 6.0.1)
- Zopo ZP999 (Android 4.4.2)
iOS:
- iPhone 5 (iOS 10.2.1)
- iPhone 6s (iOS 10.2)
- iPhone 7 (iOS 10.2.1)
I also tested on Xcode simulators iPhone 5s, 6s and SE (iOS 10.2).
The results were odd.
In the simulator all went smooth and fine. Also on all Androids, but on the iPhones 5 and 6s it seems it has no animations, on iPhone 7 however the animation is shown.
Is there a reason why this happens? Am I missing something in my code? Is it a iPhone performance issue?
I’ll leave some videos here to show the difference between devices (sorry for the quality of some of the videos).
Thank you in advance.