TranslateTo issue with Xamarin Forms 1.2.3
Posted October 29th, 2014 . 1 Comment .
This Xamarin Forms snippets shifts a button left when clicked and restores it back when dialog is dismissed.
public static Page CreateMainPage3() { StackLayout container = new StackLayout() { Orientation = StackOrientation.Vertical }; Button btn = new Button() { Text = "Ok" }; btn.Clicked += async (s, e) => { await btn.TranslateTo(-btn.Width, 0, 500); await MainPage.DisplayAlert("Test", "Hello", "Ok", "Cancel"); await btn.TranslateTo(0, 0, 500); }; container.Children.Add(btn); return MainPage = new ContentPage() { Content = container, Padding = new Thickness(10, 20, 10, 20) }; }
Easy right? unfortunately it doesn’t work on Android (it is ok on Windows Phone and iOS) with Xamarin Forms version 1.2.3
The workaround is quite easy: use LayoutTo instead of TranslateTo, following code works on all platforms.
... btn.Clicked += async (s, e) => { Rectangle defaultRect = btn.Bounds; await btn.LayoutTo(new Rectangle(-btn.Width, btn.Y, btn.Width, btn.Height), 500); await MainPage.DisplayAlert("Test", "Hello", "Ok", "Cancel"); await btn.LayoutTo(defaultRect, 500); }; ...
1 Comment “TranslateTo issue with Xamarin Forms 1.2.3”
RSS feed for comments on this post. TrackBack URL
Your posts on Xamarin.Forms are sooo awesome, please don’t stop
Comment by Andrei — 29/10/2014 @ 15:48