public async Task AnimateAnswerImage(bool is_correct)
        {
            if (this.AnimationIsRunning("TransitionAnimationAnswer"))
            {
                return;
            }
            await QuestionCustomTimer.StopTimer();

            string answer_correct   = "https://cdn.pixabay.com/photo/2012/04/24/13/49/tick-40143_960_720.png";
            string answer_incorrect = "https://cdn.pixabay.com/photo/2012/04/13/00/22/red-31226_960_720.png";

            string answer = is_correct ? answer_correct : answer_incorrect;

            AnswerImage.Source  = ImageSource.FromUri(new Uri(answer));
            AnswerImage.Opacity = 1;

            var AnswerImageScalingIn  = new Animation(v => AnswerImage.Scale = v, 1, 5, Easing.SpringOut);
            var AnswerImageScalingOut = new Animation(v => AnswerImage.Scale = v, 5, 4, Easing.SpringOut);
            var AnswerImageFading     = new Animation(v => AnswerImage.Opacity = v, 1, 0, Easing.SpringOut);

            var parentAnimation = new Animation();

            parentAnimation.Add(0, 0.7, AnswerImageScalingIn);
            parentAnimation.Add(0.7, 1, AnswerImageScalingOut);
            parentAnimation.Add(0.6, 1, AnswerImageFading);

            parentAnimation.Commit(this, "TransitionAnimationAnswer", 16, 1000, null, (v, c) => { });
            await Task.Delay(1000);

            await ShowResult();
        }
 public void StartAnimations()
 {
     QuestionCustomTimer.StartAnimations();
 }