예제 #1
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.FilterSettings);

            betaSeekbar  = FindViewById <SeekBar>(Resource.Id.BetaSeekBar);
            zetaSeekbar  = FindViewById <SeekBar>(Resource.Id.ZetaSeekBar);
            gammaSeekbar = FindViewById <SeekBar>(Resource.Id.ExponentialSeekBar);

            // REMARK KK: привести в пор¤док имена в axml
            betaEditText  = FindViewById <EditText>(Resource.Id.MadgwickEditText1);
            zetaEditText  = FindViewById <EditText>(Resource.Id.MadgwickEditText2);
            gammaEditText = FindViewById <EditText>(Resource.Id.ExponentialEditText);

            magnetometerSwitch             = FindViewById <Switch>(Resource.Id.MagnetometerSwitch);
            gyroscopeDriftSwitch           = FindViewById <Switch>(Resource.Id.GyroscopeDriftCompensationSwitch);
            accelerometerCalibrationSwitch = FindViewById <Switch>(Resource.Id.AccelerometerCalibrationSwitch);
            gyroscopeCalibrationSwitch     = FindViewById <Switch>(Resource.Id.GyroscopeCalibrationSwitch);

            magnetometerSwitch.Enabled         = false;
            gyroscopeDriftSwitch.Enabled       = false;
            zetaSeekbar.Enabled                = false;
            zetaEditText.Enabled               = false;
            gyroscopeCalibrationSwitch.Enabled = false;

            betaSeekbar.ProgressChanged  += OnBetaProgressChanged;
            zetaSeekbar.ProgressChanged  += OnZetaProgressChanged;
            gammaSeekbar.ProgressChanged += OnGammaProgressChanged;

            magnetometerSwitch.CheckedChange             += OnMagnetometerSwitchCheckedChange;
            gyroscopeDriftSwitch.CheckedChange           += OnGyroscopeDriftSwitchCheckedChange;
            accelerometerCalibrationSwitch.CheckedChange += OnAccelerometerCalibrationSwitchCheckedChange;
            gyroscopeCalibrationSwitch.CheckedChange     += OnGyroscopeCalibrationSwitchCheckedChange;

            RunOnUiThread(() =>
            {
                Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

                betaEditText.Text  = $"{Storage.Beta:F3}";
                zetaEditText.Text  = $"{Storage.Zeta:F3}";
                gammaEditText.Text = $"{Storage.Gamma:F3}";

                betaSeekbar.Max      = 1000;
                betaSeekbar.Progress = (int)(Storage.Beta * 1000);
                betaSeekbar.RefreshDrawableState();

                zetaSeekbar.Max      = 1000;
                zetaSeekbar.Progress = (int)(Storage.Zeta * 1000);
                zetaSeekbar.RefreshDrawableState();

                gammaSeekbar.Max      = 1000;
                gammaSeekbar.Progress = (int)(Storage.Gamma * 1000);
                gammaSeekbar.RefreshDrawableState();

                magnetometerSwitch.Checked             = Storage.MagnetometerEnabled;
                gyroscopeDriftSwitch.Checked           = Storage.GyroscopeDriftCompensationEnabled;
                accelerometerCalibrationSwitch.Checked = Storage.AccelerometerCalibrationEnabled;
                gyroscopeCalibrationSwitch.Checked     = Storage.GyroscopeCalibrationEnabled;
            });
        }
예제 #2
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.LogPlayer);

            Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;

            paintingView   = FindViewById <PaintingView>(Resource.Id.LogPaintingView);
            speedPicker    = FindViewById <NumberPicker>(Resource.Id.SpeedPicker);
            playStopButton = FindViewById <Button>(Resource.Id.Play3dButton);
            rewindSeekbar  = FindViewById <SeekBar>(Resource.Id.seekBar1);

            rewindSeekbar.Enabled = false;

            speedPicker.MinValue          = 0;
            speedPicker.MaxValue          = 7;
            speedPicker.WrapSelectorWheel = false;
            var speeds = new string[] { "0.25", "0.5", "0.75", "1", "1.25", "1.5", "1.75", "2" };

            speedPicker.SetDisplayedValues(speeds);

            playStopButton.Click += OnPlayStopButtonClicked;

            paintingView.DrawTrajectory = Storage.TrajectoryTracingEnabled;

            speedPicker.Value         = 3;
            speedPicker.ValueChanged += (o, e) =>
            {
                paintingView.SpeedMultiplier = float.Parse(speeds[speedPicker.Value]);
            };

            rewindSeekbar.Max = Storage.NumberOfFrames;
            paintingView.CoordinatesUpdated += () => RunOnUiThread(() =>
            {
                rewindSeekbar.Progress = Storage.CurrentFrame;
                rewindSeekbar.RefreshDrawableState();
            });

            paintingView.Finished += () =>
            {
                OnPlayStopButtonClicked(playStopButton, null);
            };

            rewindSeekbar.ProgressChanged += (o, e) =>
            {
                Storage.CurrentFrame = rewindSeekbar.Progress;
            };
        }