예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
            }
        }