private async Task ExpandEntry() { if (!touched) { var widht = this.Width; ImageFrame.Animate("expand", percent => { var change = (widht - 20) * percent; if (change > 50) { ImageFrame.WidthRequest = change; } }, 0, 600, easing: Easing.Linear); var imageAnimation = firstImage.FadeTo(0, 100, Easing.Linear); var gridAnimation = sendData.FadeTo(1, 100, Easing.Linear); sendData.IsVisible = true; await Task.WhenAny(imageAnimation, gridAnimation); firstImage.IsVisible = false; myEntry.Focus(); touched = true; } }
private async Task HideEntry() { if (touched) { var widht = ImageFrame.WidthRequest; ImageFrame.Animate("reduce", percent => { var change = widht * percent; var newChange = widht - change; if (newChange > 40) { ImageFrame.WidthRequest = widht - change; } }, 0, timeAnimation, easing: Easing.Linear); var imageAnimation = firstImage.FadeTo(1, 300, Easing.Linear); var gridAnimation = sendData.FadeTo(0, 300, Easing.Linear); firstImage.IsVisible = true; await Task.WhenAny(imageAnimation, gridAnimation); sendData.IsVisible = false; touched = false; } }