Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report for Bug 53280 on
Developer Community or GitHub if you have new
information to add and do not yet see a matching new report.
If the latest results still closely match this report, you can use the
In special cases on GitHub you might also want the comments:
GitHub Markdown with public comments
Set up this (e.g. on Android 7):
Settings -> Developer options
set Animator duration scale: Animation off
Xamarin.Forms.Image image = ...;
image.RotateTo(90, 250, Easing.CubicOut);
Test A result: The image state does not change (it remains in the initial position, or probably only changes very slightly).
Xamarin.Forms.Label label = ...;
var anim = new Animation(AnimFunc, 0, 1);
anim.Commit(label, "anim1", 16, 250, Easing.CubicOut);
void AnimFunc(double t)
Test B result: AnimFunc is called only twice: with t = 0 and t = 0.023808512 (or some other low number).
With another Animator duration scale options it works correctly (but it looks like Animator duration scale does not influence the animation speed - it probably should).
Thank you for filing this report! Let me try the code you provided to see if I can reproduce and confirm this issue and I will update the report with my results.
If someone is interested, here is a workaround:
Retrieve current "animator duration scale" setting (this way: http://stackoverflow.com/a/42670723). If it is 0 (animations are disabled), avoid using animations in your Xamarin Forms code (instead of issuing an animation, change properties of the controls directly to the final values).
Created attachment 21445 [details]
I was able to reproduce the issue described with the project I am attaching.
The issue happens on Android 7.0+ and when the the Animator duration scale is set to "Off" under Settings > Developer Options. As described, when using RotateTo() the rotation did _not_ fully complete, and when using a custom animation, the function was called only once in my tests.
### Steps to Reproduce
1. On an Android 7.0 device/emulator, go to Setting > Developer Options
2. Set Animator duration scale to "Off"
3. Run the attached project on the device
4. Press "Rotate Label"
5. Press "Animate Label"
### Expected Results
Rotate Label: The Label directly underneath will be rotated 90 degrees.
Animate Label: The Label underneath will be flipped.
### Actual Results
Rotate Label: The Label is not full rotated 90 degrees.
Animate Label: The Label does not animate at all. Looking at the output, the animation function was only called once with a value of '0'.
### Version tests
While disabling animation works fine as a workaround, the activity indicator is also affected by this (just sits on the screen not indicating much of anything), which is going to be super annoying to work around.
Actually, maybe the activity indicator is working for some devices but not others. Need to look into that a bit more.
Sorry to keep commenting here but I just wanted to say that the activity indicator does indeed freeze the Activity Indicator on Android 7.1.
I am also experiencing this issue, with a TranslateTo that is supposed to slide in another ContentView from the right. On Android, I have to set the TranslationX value directly and then lose the animations.
Any movement on fixing this?
Is there any update regarding this issue?
I have the same issue on my release build.