Exemplo n.º 1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            RunningView kaart;

            kaart = new RunningView(this);
            kaart.SetBackgroundColor(new Color(208, 229, 158));

            //Titelbar
            RunningApp          = new TextView(this);
            RunningApp.TextSize = 40;
            RunningApp.Text     = "🏃 Running App! 🏃";
            RunningApp.SetTextColor(Color.Yellow);

            //Knoppen
            Startknop          = new Button(this);
            Startknop.TextSize = 20;
            Startknop.Text     = "Start";
            Startknop.SetTextColor(Color.Black);
            Startknop.Click += kaart.Starten;

            Stopknop          = new Button(this);
            Stopknop.TextSize = 20;
            Stopknop.Text     = "Stop";
            Stopknop.SetTextColor(Color.Black);
            Stopknop.Click += kaart.Stoppen;

            Centreerknop          = new Button(this);
            Centreerknop.TextSize = 20;
            Centreerknop.Text     = "Centreer";
            Centreerknop.SetTextColor(Color.Black);
            Centreerknop.SetHighlightColor(Color.Blue);
            Centreerknop.Click += kaart.Centreren;

            Wisknop          = new Button(this);
            Wisknop.TextSize = 20;
            Wisknop.Text     = "Wis";
            Wisknop.SetTextColor(Color.Black);
            Wisknop.Click += kaart.Wissen;

            Deelknop          = new Button(this);
            Deelknop.TextSize = 20;
            Deelknop.Text     = "Share";
            Deelknop.SetTextColor(Color.Black);
            Deelknop.Click += Delen;

            Fakeknop          = new ToggleButton(this);
            Fakeknop.TextSize = 20;
            Fakeknop.Text     = "Fake";
            Fakeknop.SetTextColor(Color.Black);
            Fakeknop.Click += FakeknopToggle;

            Analyseerknop          = new ToggleButton(this);
            Analyseerknop.TextSize = 20;
            Analyseerknop.Text     = "Analyze";
            Analyseerknop.SetTextColor(Color.Black);
            Analyseerknop.Click += kaart.Analyseren;

            Saveknop          = new Button(this);
            Saveknop.TextSize = 20;
            Saveknop.Text     = "Save";
            Saveknop.SetTextColor(Color.Black);
            Saveknop.Click += kaart.Opslaan;

            Laadknop          = new Button(this);
            Laadknop.TextSize = 20;
            Laadknop.Text     = "Load";
            Laadknop.SetTextColor(Color.Black);
            Laadknop.Click += kaart.Laden;

            //Stapels van knoppen
            LinearLayout knoppen;

            knoppen = new LinearLayout(this);
            knoppen.AddView(Startknop);
            knoppen.AddView(Stopknop);
            knoppen.AddView(Centreerknop);
            knoppen.AddView(Wisknop);
            knoppen.Orientation = Orientation.Horizontal;

            LinearLayout knoppen2;

            knoppen2 = new LinearLayout(this);
            knoppen2.AddView(Deelknop);
            knoppen2.AddView(Fakeknop);
            knoppen2.AddView(Analyseerknop);
            knoppen2.AddView(Saveknop);
            knoppen2.AddView(Laadknop);
            knoppen2.Orientation = Orientation.Horizontal;

            //Statusbar
            Status          = new TextView(this);
            Status.Text     = "Je route is nog niet gestart.";
            Status.TextSize = 20;
            Status.SetTextColor(Color.Yellow);

            //Overzichtsstapel
            LinearLayout Overzicht;

            Overzicht = new LinearLayout(this);
            Overzicht.AddView(RunningApp);
            Overzicht.AddView(knoppen);
            Overzicht.AddView(knoppen2);
            Overzicht.AddView(Status);
            Overzicht.AddView(kaart);
            Overzicht.Orientation = Orientation.Vertical;
            Overzicht.SetBackgroundColor((new Color(68, 0, 0)));

            this.SetContentView(Overzicht);

            void Delen(object o, EventArgs ea)
            {
                Intent i;

                i = new Intent(Intent.ActionSend);
                i.SetType("text/plain");

                string bericht = kaart.GetRouteText();

                i.PutExtra(Intent.ExtraText, bericht);
                this.StartActivity(i);
            }

            void FakeknopToggle(object o, EventArgs ea)
            {
                if (Fakeknop.Checked)
                {
                    kaart.Faken();
                }

                else
                {
                    kaart.route.Clear();
                    Status.Text = "De neproute staat uit.";
                }

                kaart.Invalidate();
            }
        }
Exemplo n.º 2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            RunningView kaart;

            kaart = new RunningView(this);
            kaart.SetBackgroundColor(new Color(208, 229, 158));

            //Titelbar
            RunningApp          = new TextView(this);
            RunningApp.TextSize = 40;
            RunningApp.Text     = "🏃 Running App! 🏃";
            RunningApp.SetTextColor(Color.Yellow);

            //Knoppen
            Startknop          = new Button(this);
            Startknop.TextSize = 20;
            Startknop.Text     = "Start";
            Startknop.SetTextColor(Color.Black);
            Startknop.Click += kaart.Starten;

            Stopknop          = new Button(this);
            Stopknop.TextSize = 20;
            Stopknop.Text     = "Stop";
            Stopknop.SetTextColor(Color.Black);
            Stopknop.Click += kaart.Stoppen;

            Centreerknop          = new Button(this);
            Centreerknop.TextSize = 20;
            Centreerknop.Text     = "Centreer";
            Centreerknop.SetTextColor(Color.Black);
            Centreerknop.SetHighlightColor(Color.Blue);
            Centreerknop.Click += kaart.Centreren;

            Wisknop          = new Button(this);
            Wisknop.TextSize = 20;
            Wisknop.Text     = "Wis";
            Wisknop.SetTextColor(Color.Black);
            Wisknop.Click += kaart.Wissen;

            Deelknop          = new Button(this);
            Deelknop.TextSize = 20;
            Deelknop.Text     = "Share";
            Deelknop.SetTextColor(Color.Black);
            Deelknop.Click += Delen;

            Fakeknop          = new ToggleButton(this);
            Fakeknop.TextSize = 20;
            Fakeknop.Text     = "Fake";
            Fakeknop.SetTextColor(Color.Black);
            Fakeknop.Click += FakeknopToggle;

            Analyseerknop          = new ToggleButton(this);
            Analyseerknop.TextSize = 20;
            Analyseerknop.Text     = "Analyze";
            Analyseerknop.SetTextColor(Color.Black);
            Analyseerknop.Click += kaart.Analyseren;

            Saveknop          = new Button(this);
            Saveknop.TextSize = 20;
            Saveknop.Text     = "Save";
            Saveknop.SetTextColor(Color.Black);
            Saveknop.Click += kaart.Opslaan;

            Laadknop          = new Button(this);
            Laadknop.TextSize = 20;
            Laadknop.Text     = "Load";
            Laadknop.SetTextColor(Color.Black);
            Laadknop.Click += kaart.Laden;

            //Stapels van knoppen
            LinearLayout knoppen;

            knoppen = new LinearLayout(this);
            knoppen.AddView(Startknop);
            knoppen.AddView(Stopknop);
            knoppen.AddView(Centreerknop);
            knoppen.AddView(Wisknop);
            knoppen.Orientation = Orientation.Horizontal;

            LinearLayout knoppen2;

            knoppen2 = new LinearLayout(this);
            knoppen2.AddView(Deelknop);
            knoppen2.AddView(Fakeknop);
            knoppen2.AddView(Analyseerknop);
            knoppen2.AddView(Saveknop);
            knoppen2.AddView(Laadknop);
            knoppen2.Orientation = Orientation.Horizontal;

            //Statusbar
            Status          = new TextView(this);
            Status.Text     = "Je route is nog niet gestart.";
            Status.TextSize = 20;
            Status.SetTextColor(Color.Yellow);

            //Overzichtsstapel
            LinearLayout Overzicht;

            Overzicht = new LinearLayout(this);
            Overzicht.AddView(RunningApp);
            Overzicht.AddView(knoppen);
            Overzicht.AddView(knoppen2);
            Overzicht.AddView(Status);
            Overzicht.AddView(kaart);
            Overzicht.Orientation = Orientation.Vertical;
            Overzicht.SetBackgroundColor((new Color(68, 0, 0)));

            this.SetContentView(Overzicht);

            void Delen(object o, EventArgs ea)
            {
                //Laat een pop-up zien, want wanneer de analyse nog niet is uitgevoerd, zijn de resultaten nog niet berekend
                AlertDialog.Builder letop = new AlertDialog.Builder(this);
                letop.SetTitle("Heeft u de route al geanalyseerd? Dan kunt u ook uw statistieken delen.");
                letop.SetPositiveButton("Ja", WelDelen);
                letop.SetNegativeButton("Nee", NietDelen);
                letop.Show();
            }

            void WelDelen(object o, EventArgs ea)
            {
                Intent i;

                i = new Intent(Intent.ActionSend);
                i.SetType("text/plain");

                //Het te delen bericht, waarin niet alleen de punten staan maar ook een aantal statistieken
                string bericht = $"🏃 Ik heb hardgelopen!🏃\n" +
                                 $"Ik heb gemiddeld {(int)kaart.gemiddeldesnelheid} km/u gelopen " +
                                 $"over een afstand van {(int)(kaart.totaleafstand * 1000)} m. " +
                                 $"Daar deed ik {(int)(kaart.tijdsverschil * 60)} minuten over. " +
                                 $"Ik heb {(int)kaart.kcal2} kcal verbrand! " +
                                 $"Mijn minimale snelheid was {(int)kaart.min} km/u en " +
                                 $"mijn maximale snelheid was {(int)kaart.max} km/u. " +
                                 $"Dit waren mijn punten:\n" +
                                 kaart.GetRouteText();

                i.PutExtra(Intent.ExtraText, bericht);
                this.StartActivity(i);
            }

            void NietDelen(object o, EventArgs ea)
            {
                //Als de statistieken nog niet berekend zijn, wordt de analyse eerst gedaan
                kaart.running = false;
                kaart.SetBackgroundColor(Color.White);
            }

            void FakeknopToggle(object o, EventArgs ea)
            {
                if (Fakeknop.Checked)
                {
                    kaart.Faken();
                }
                else
                {
                    kaart.route.Clear();
                    Status.Text = "De neproute staat uit.";
                }

                kaart.Invalidate();
            }
        }