Quantcast
Viewing all articles
Browse latest Browse all 91519

Layouting on the native counterparts delay

I am basically replicating NavigationPage, but only using Views. Incoming views are added to the Children, but with TranslationX set just outside the right side (Width + 1), then I use Device.BeginInvokeOnMainThread for TranslateTo. I used Device.BeginInvokeOnMainThread to yield the UI thread so that any other processing and/or layouting can run before the animation. This is not always effective, because for other views, it seems that internal processing/layouting is not finished yet when the animation starts, resulting to frame-skips, and for complex views, complete animation skip. I already used the LayoutChanged event (99.99% of the incoming views are Layouts) with TaskCompletionSource<> so that I can detect if the layouts are finished before the animation is started, but LayoutChanged is triggered almost immediately 99.99% of the time after adding the view to Children. How can I implement it so that absolutely all "preparation codes", both on the Xamarin layer and native layer are finished before the animation starts?

Thanks!


Viewing all articles
Browse latest Browse all 91519

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>