示例#1
0
        /// <summary>
        /// Invoke Frame CornerRadius animation.
        /// </summary>
        /// <param name="sender">Sender.</param>
        protected override void Invoke(VisualElement sender)
        {
            SetDefaultValueIfNeeded((sender as Frame).CornerRadius);

            sender.Animate(nameof(FrameCornerRadiusAnimation), new Animation((d) =>
            {
                (sender as Frame).CornerRadius = AnimationUtil.CalcCurrentValue(From, To, d);
            }),
                           length: Length,
                           easing: EasingValueConverter.Convert(Easing));
        }
示例#2
0
        /// <summary>
        /// Invoke Slider MinimumTrackColor animation.
        /// </summary>
        /// <param name="sender">Sender.</param>
        protected override void Invoke(VisualElement sender)
        {
            SetDefaultValueIfNeeded((sender as Slider).ThumbColor);

            sender.Animate(nameof(SliderThumbColorAnimation), new Animation((d) =>
            {
                (sender as Slider).ThumbColor = AnimationUtil.CalcCurrentValue(From, To, d);
            }),
                           length: Length,
                           easing: EasingValueConverter.Convert(Easing));
        }
        /// <summary>
        /// Invoke VisualElement HeightRequest animation.
        /// </summary>
        /// <param name="sender">Sender.</param>
        protected override void Invoke(VisualElement sender)
        {
            SetDefaultValueIfNeeded(sender.Height);

            sender.Animate(nameof(HeightRequestDoubleAnimation), new Animation((d) =>
            {
                sender.HeightRequest = AnimationUtil.CalcCurrentValue(From, To, d);
            }),
                           length: Length,
                           easing: EasingValueConverter.Convert(Easing));
        }
示例#4
0
        /// <summary>
        /// Invoke Button FontSize animation.
        /// </summary>
        /// <param name="sender">Sender.</param>
        protected override void Invoke(VisualElement sender)
        {
            SetDefaultValueIfNeeded((sender as Button).FontSize);

            var animation = new Animation((d) =>
            {
                (sender as Button).FontSize = AnimationUtil.CalcCurrentValue(From, To, d);
            });

            sender.Animate(nameof(ButtonFontSizeDoubleAnimation), animation, length: Length, easing: EasingValueConverter.Convert(Easing));
        }
示例#5
0
        /// <summary>
        /// Invoke Label LineHeight animation.
        /// </summary>
        /// <param name="sender">Sender.</param>
        protected override void Invoke(VisualElement sender)
        {
            SetDefaultValueIfNeeded((sender as Label).LineHeight);

            var animation = new Animation((d) =>
            {
                (sender as Label).LineHeight = AnimationUtil.CalcCurrentValue(From, To, d);
            });

            sender.Animate(nameof(LabelLineHeightDoubleAnimation), animation, length: Length, easing: EasingValueConverter.Convert(Easing));
        }
        /// <summary>
        /// Invoke StackLayout Spacing animation.
        /// </summary>
        /// <param name="sender">Sender.</param>
        protected override void Invoke(VisualElement sender)
        {
            SetDefaultValueIfNeeded((sender as StackLayout).Spacing);

            var animation = new Animation((d) =>
            {
                (sender as StackLayout).Spacing = AnimationUtil.CalcCurrentValue(From, To, d);
            });

            sender.Animate(nameof(StackLayoutSpacingDoubleAnimation), animation, length: Length, easing: EasingValueConverter.Convert(Easing));
        }