void SetInterpolator(int position) {
			IInterpolator CurrentInterpolator;
			switch (position) {
			case 1:
				CurrentInterpolator = new LinearInterpolator();
				_seekBarFactor.Enabled=false;
				break;
			case 2:
				CurrentInterpolator = new AccelerateDecelerateInterpolator();
				_seekBarFactor.Enabled=false;
				break;
			case 3:
				CurrentInterpolator = new DecelerateInterpolator(_factor);
				_seekBarFactor.Enabled=true;
				break;
			case 0:
			default:
				CurrentInterpolator = new AccelerateInterpolator(_factor);
				_seekBarFactor.Enabled=true;
				break;
			}

			_progressBar.SetSmoothProgressDrawableInterpolator(CurrentInterpolator);
			_progressBar.SetSmoothProgressDrawableColors(Resources.GetIntArray(Resource.Array.gplus_colors));
		}
        private void SetValues()
        {
            _progressBar.SmoothProgressDrawableSpeed = _speed;
            _progressBar.SmoothProgressDrawableSectionsCount = _sectionsCount;
            _progressBar.SmoothProgressDrawableSeparatorLength = DpToPx(_separatorLength);
            _progressBar.SmoothProgressDrawableStrokeWidth = DpToPx(_strokeWidth);
            _progressBar.SmoothProgressDrawableReversed = _checkBoxReversed.Checked;
            _progressBar.SmoothProgressDrawableMirrorMode = _checkBoxMirror.Checked;

            IInterpolator interpolator;
            switch (_spinnerInterpolators.SelectedItemPosition)
            {
                case 1:
                    interpolator = new LinearInterpolator();
                    break;
                case 2:
                    interpolator = new AccelerateDecelerateInterpolator();
                    break;
                case 3:
                    interpolator = new DecelerateInterpolator();
                    break;
                default:
                    interpolator = new AccelerateInterpolator();
                    break;
            }

            _progressBar.SmoothProgressDrawableInterpolator = interpolator;
            _progressBar.SmoothProgressDrawableColors = IntsToColors(Resources.GetIntArray(Resource.Array.colors));
        }
Beispiel #3
0
        private async void OnRequestOnboardingPage(OnboardingViewModel oVm)
        {
            _viewModel = oVm;
            AnimationInitUI();
            BindEvents();
            
            var mainAnimatorSet = new AnimatorSet();

            var appNameLayoutFinalTopSpace = TypedValue.ApplyDimension(ComplexUnitType.Dip, 55.0f, Application.Context.Resources.DisplayMetrics);

            var decelerateInterpolator = new DecelerateInterpolator(1.0f);

            var appNameLayoutAnimator = new ValueAnimator();
            appNameLayoutAnimator.SetDuration(750);
            appNameLayoutAnimator.SetInterpolator(decelerateInterpolator);
            appNameLayoutAnimator.SetFloatValues(_appNameLayout.GetY(), appNameLayoutFinalTopSpace);
            appNameLayoutAnimator.Update += (o, args) => { _appNameLayout.SetY((float)args.Animation.AnimatedValue); };

            var whatAccountsAnimator = new ValueAnimator();
            whatAccountsAnimator.SetDuration(750);
            whatAccountsAnimator.SetInterpolator(decelerateInterpolator);
            whatAccountsAnimator.SetFloatValues(0.0f, 1.0f);
            whatAccountsAnimator.Update += (o, args) => { _whatAccounts.Alpha = (float)args.Animation.AnimatedValue; };

            var appNameAnimationSet = new AnimatorSet();
            appNameAnimationSet.PlayTogether(appNameLayoutAnimator, whatAccountsAnimator);


            var socialButtonsAnimatorSet = new AnimatorSet();

            var overshootInterpolator = new OvershootInterpolator(3f);

            var facebookButtonAnimator = new ValueAnimator();
            facebookButtonAnimator.SetDuration(500);
            facebookButtonAnimator.SetInterpolator(overshootInterpolator);
            facebookButtonAnimator.SetFloatValues(_facebookButton.GetY() + _facebookButton.Height, _facebookButton.GetY());
            facebookButtonAnimator.Update += (o, args) =>
                {
                    _facebookButton.SetY((float)args.Animation.AnimatedValue);
                    _facebookButton.Alpha = args.Animation.AnimatedFraction;
                };

            var twitterButtonAnimator = new ValueAnimator();
            twitterButtonAnimator.SetDuration(500);
            twitterButtonAnimator.SetInterpolator(overshootInterpolator);
            twitterButtonAnimator.SetFloatValues(_facebookButton.GetY() + _facebookButton.Height, _facebookButton.GetY());
            twitterButtonAnimator.Update += (o, args) =>
                {
                    _twitterButton.SetY((float)args.Animation.AnimatedValue);
                    _twitterButton.Alpha = args.Animation.AnimatedFraction;
                };
            socialButtonsAnimatorSet.PlaySequentially(facebookButtonAnimator, twitterButtonAnimator);
            socialButtonsAnimatorSet.StartDelay = 500;

            var letsGoButtonAnimator = new ValueAnimator();
            letsGoButtonAnimator.SetDuration(500);
            letsGoButtonAnimator.SetInterpolator(decelerateInterpolator);
            letsGoButtonAnimator.SetFloatValues(0.0f, 1.0f);
            letsGoButtonAnimator.Update += (sender, args) =>
                {
                    _goButton.Alpha = (float)args.Animation.AnimatedValue;
                };

            mainAnimatorSet.PlaySequentially(appNameAnimationSet, socialButtonsAnimatorSet, letsGoButtonAnimator);

            await _viewModel.DidLoad();

            await Task.Delay(2000);

            mainAnimatorSet.Start();
            await _viewModel.DidAppear();
        }