Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.

Slides:



Advertisements
Verwante presentaties
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Advertisements

Het type int Tekenen met Java operatoren
Klassen en objecten.
Hoofdstuk 2 Hallo, C# !.
Hoofdstuk 8 Objecten en klassen.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Opgave 2a nMet een InputStream lees je bytes uit een binare file nMet een Reader lees je characters uit een tekstfile.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Hoorcollege 14 Vijanden, excepties. Overzicht programmaconstructies Opdrachten Toekenning Aanroep void-methode return-opdracht while-opdracht for(each)-opdracht.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Hoofdstuk 14.1 Algoritmen: Zoeken in een netwerk.
Polymorphisme en Interfaces: inleiding
Hoofdstuk 3 Methoden om te tekenen.
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 3 Tekenen en rekenen.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Imperatief programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat ukopen bij A-Eskwadraat (BBG-238) uof zelf downloaden en uitprinten nSolis-id.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Eerste deeltentamen nNagekeken werk ligt voor in de zaal nNeem je eigen werk mee: in het college wordt het besproken nVragen over de beoordeling: in de.
1e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nNeem het even mee, de uitwerking wordt in het college besproken nDiscussies.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 2 inleveropdrachten) college Tent. 1 Tent. 2 college prakt. 1 prakt. 2 prakt.
Resources. Kompas } { protected override void OnDraw(Canvas canv) { base.OnDraw(canv); } public KompasView(Context c) : base(c) { } class KompasView :
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok.
Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b;
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Activity Bij het starten van een app:
Aanroep van een methode voert opdrachten uit in de body daarvan
ISensorEventListener
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Schilderij class MijnAct : Activity { MijnView scherm;
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Letterfrequentie turven
Gameprogrammeren: Variabelen, declaraties en toekenningen
Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
vandaag èn vrijdag deadline maandag 12 dec.
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Programmastructuur
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
Declaratie Declaratie reserveert geheugenruimte
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Gameprogrammeren: Game Basics
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Gameprogrammeren: Abstracte klassen
Willekeurigheid en Herhaling
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Klassen en objecten
Interface In de library In je eigen programma wat is er nodig om een
Arjan Egges & Paul Bergervoet
Exceptions Exception:
Transcript van de presentatie:

Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de methode OnCreate( ) Methode uit klasse Activity

eigen subklasse van Activity met een nieuwe invulling van OnCreate() [ActivityAttribute(Label = "Hello", MainLauncher = true)] public class HalloApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); TextView scherm; scherm = new TextView(this); scherm.Text = "Hallo!"; scherm.TextSize = 80; scherm. SetBackgroundColor(Color.Yellow); scherm. SetTextColor (Color.DarkBlue); this. SetContentView (scherm); } een eigen subklasse van Activity om een View te maken

Opdrachten: toekenning opdrachten: toekennen van waarde aan variabele using Android.OS; using Android.App; using Android.Widget; using Android.Graphics; [ActivityAttribute(Label = "Hello", MainLauncher = true)] public class HalloApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); TextView scherm; scherm = new TextView(this); scherm.Text = "Hallo!"; scherm.TextSize = 80; scherm. SetBackgroundColor(Color.Yellow); scherm. SetTextColor (Color.DarkBlue); this. SetContentView (scherm); } naam van de variabele altijd een = nieuwe waarde

Opdrachten: methode-aanroep opdrachten: aanroep van andere methoden using Android.OS; using Android.App; using Android.Widget; using Android.Graphics; [ActivityAttribute(Label = "Hello", MainLauncher = true)] public class HalloApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); TextView scherm; scherm = new TextView(this); scherm.Text = "Hallo!"; scherm.TextSize = 80; scherm. SetBackgroundColor(Color.Yellow); scherm. SetTextColor (Color.DarkBlue); this. SetContentView (scherm); } naam van de methode altijd een punt overige details object dat onderhanden genomen wordt

Syntax en semantiek nSyntax: de vorm van het programma compilatie eenheid using; klasse declaratie library naam nSemantiek: wat het programma betekent

Syntax van klasse-declaratie klasse declaratie publicprivate classnaam{member} :naam attributen] [

Syntax van member member publicprivate naam type void()blok, naamtype protected overridestatic

Syntax van blok blok declaratie opdracht {}

Syntax van opdracht opdracht (), ;expressie. methode naam =expressie;variabele property naam += object naam

en dat kunnen zelf ook weer aanroepen zijn van weer andere methodes... dus de “waar was ik gebleven” administratie is best ingewikkeld! Soorten opdrachten nToekennings -opdracht: verander het geheugen nAanroep van een andere methode: voer eerst de opdrachten in die methode uit, en ga daarna verder waar je gebleven was

Combineren van Views AnalogClock wijzerklok; wijzerklok = new AnalogClock(this); wijzerklok.SetBackgroundColor(Color.Yellow); TextClock tekstklok; tekstklok = new TextClock(this); tekstklok.Format24Hour = "EEE HH:mm:ss"; tekstklok.TextSize = 50; TextView scherm; scherm = new TextView(this); scherm.Text = "Hallo!"; scherm.TextSize = 80; scherm.SetBackgroundColor(Color.Yellow); scherm.SetTextColor(Color.DarkBlue); this.SetContentView( scherm );

Combineren van Views AnalogClock wijzerklok; wijzerklok = new AnalogClock(this); wijzerklok.SetBackgroundColor(Color.Yellow); TextClock tekstklok; tekstklok = new TextClock(this); tekstklok.Format24Hour = "EEE HH:mm:ss"; tekstklok.TextSize = 50; this.SetContentView( scherm ); LinearLayout stapel; stapel = new LinearLayout(this); stapel.Orientation = Orientation.Vertical; stapel stapel.AddView(wijzerklok); stapel.AddView(tekstklok);

En… aktie! Button public class KlikkerApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); knop = new Button(this); knop.Text = "Klik hier!"; knop.TextSize = 40; SetContentView(knop); } public void klik(object o, EventArgs ea) { } knop.Click += klik; knop.Text = teller.ToString() + " keer geklikt"; teller = teller + 1; } teller = 0; Button knop;int teller;

En… aktie! public class KlikkerApp : Activity { } } teller = 0; Button knop;int teller; protected override void OnCreate(Bundle b) { base.OnCreate(b); knop = new Button(this); knop.Text = "Klik hier!"; knop.TextSize = 40; SetContentView(knop); } knop.Click += klik; properties van Button Event-property van Button public void klik(object o, EventArgs ea) { knop.Text = teller.ToString() + " keer geklikt"; Event-handler teller = teller + 1; …krijgt als waarde een…

Kleuren kiezen using Android.OS; using Android.App; using Android.Widget; using Android.Graphics; [ActivityAttribute(Label = "Hello", MainLauncher = true)] public class HalloApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); TextView scherm; scherm = new TextView(this); scherm.Text = "Hallo!"; scherm.TextSize = 80; scherm. SetBackgroundColor(Color.Yellow); scherm. SetTextColor (Color.DarkBlue); this. SetContentView (scherm); } (new Color(10,92,234));

Kleuren (255,0,0) (0,255,0) (255,255,0) (0,0,255) (0,255,255) (255,0,255) (255,255,255) (0,0,0) new Color(...)

Mengkleuren nnew Color (255, 0, 0) nnew Color (255, 255, 0) nnew Color (255, 64, 0) nnew Color (255, 128, 0) nnew Color (255, 192, 0)

En… aktie! Button public class KlikkerApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); knop = new Button(this); knop.Text = "Klik hier!"; knop.TextSize = 40; knop.Click += klik; SetContentView(knop); } public void klik(object o, EventArgs ea) { } knop.Text = teller.ToString() + " keer geklikt"; teller = teller + 1; } teller = 0; Button knop;int teller;

Mixer Button public class MixerApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); knop = new Button(this); knop.Text = "Klik hier!"; knop.TextSize = 40; knop.Click += kies; SetContentView(knop); } public void kies(object o, EventArgs ea) { } } Button knop; SeekBar SeekBar rood, groen, blauw; rood = new SeekBar(this); rood.SetBackgroundColor(Color.Red); rood.ProgressChanged += schuif; public void schuif(object o, EventArgs ea) { }

Mixer Button protected override void OnCreate(Bundle b) { base.OnCreate(b); SeekBar rood = new SeekBar(this); rood.SetBackgroundColor(Color.Red); rood.ProgressChanged += schuif ; } knop = new Button(this); knop.Text = "mix een kleur"; knop.Click += kies ; LinearLayout stapel; stapel = new LinearLayout(this); stapel.Orientation = Orientation.Vertical; stapel.AddView(rood);stapel.AddView(grn); stapel.AddView(blw);stapel.AddView(knop); this.SetContentView(stapel); grn = new SeekBar(this); grn.SetBackgroundColor(Color.Green); grn.ProgressChanged += schuif ; blw = new SeekBar(this); blw.SetBackgroundColor(Color.Blue); blw.ProgressChanged += schuif ;

Mixer Button public void schuif(object o, EventArgs ea) { SeekBar int r, g, b; } r = rood.Progress; g = grn.Progress; b = blw.Progress; SeekBar rood, grn, blw; Button knop; knop.Text = "r:" + r + "g:" + g + "b:" + b; knop.SetBackgroundColor ( new Color(r, g, b) ); public void kies(object o, EventArgs ea) { } Random gen; gen = new Random(256); rood.Progress = gen.Next(); grn.Progress = gen.Next(); blw.Progress = gen.Next();

nHex nStringformat

Maak je eigen View protected override void OnCreate(Bundle b) { base.OnCreate(b); TextView t; t = new TextView(this); this.SetContentView(t); AnalogClock a; a = new AnalogClock(this); this.SetContentView(a); MondiaanView m; m = new MondriaanView(this); this.SetContentView(m); } bestaat nog niet…

Maak je eigen View public class MondriaanView : View { protected override void OnDraw(Canvas cv) { public MondriaanView(Context ct) { } } } cv. DrawLine(…); cv. DrawRect(…); cv. DrawCircle(….); this.SetBackgroundColor(Color.White); base.View(ct); : base(ct) base.OnDraw(cv);

Hallo (x,y) DrawText (x1,y1) (x2,y2) DrawLine x y (0,0) DrawOval DrawRect links boven rechts onder DrawBitmap (x,y) DrawCircle (x,y) r

Tekenen cv.DrawRect( 10, 0, 20, 100, verf ); cv.DrawRect( 50, 0, 60, 100, verf ); cv.DrawRect( 90, 0, 100, 100, verf ); Paint verf; verf = new Paint(); verf.Color=Color.Black; cv.DrawRect( 0, 40, 200, 50, verf ); cv.DrawRect( 0, 70, 200, 80, verf ); verf.Color = Color.Blue; cv.DrawRect( 0, 50, 10, 70, verf ); verf.Color = Color.Red; cv.DrawRect(100, 0, 200, 40, verf ); compositie met blauw en rood (vrij naar Piet Mondriaan)

Tekening aanpassen Paint verf; verf = new Paint(); verf.Color=Color.Black; verf.Color = Color.Blue; cv.DrawRect( 0, 50, 10, 70, verf ); nAanpassen van de dikte van de balken nAanpassen van de hoogte van het plaatje nAanpassen van de breedte van het plaatje cv.DrawRect( 10, 0, 20, 100, verf ); cv.DrawRect( 50, 0, 60, 100, verf ); cv.DrawRect( 90, 0, 100, 100, verf ); cv.DrawRect( 0, 40, 200, 50, verf); cv.DrawRect( 0, 70, 200, 80, verf); verf.Color = Color.Red; cv.DrawRect(100, 0, 200, 40, verf ); erg veel werk...

Variabelen Paint verf; verf = new Paint(); verf.Color=Color.Black; verf.Color = Color.Blue; cv.DrawRect( 0, 50, 10, 70, verf ); cv.DrawRect( 10, 0, 20, 100, verf ); cv.DrawRect( 50, 0, 60, 100, verf ); cv.DrawRect( 90, 0, 100, 100, verf ); cv.DrawRect( 0, 40, 200, 50, verf); cv.DrawRect( 0, 70, 200, 80, verf); verf.Color = Color.Red; cv.DrawRect(100, 0, 200, 40, verf ); erg veel werk... int balk, breed, hoog balk = 10; breed = 200; hoog = 100; toekennings- opdrachten: variabelen krijgen een waarde declaratie: aankondigen van variabelen en hun type

Variabelen Paint verf; verf = new Paint(); verf.Color=Color.Black; verf.Color = Color.Blue; cv.DrawRect( 0, 40+balk, 10, 70, verf ); cv.DrawRect( 10, 0, 10+balk, hoog, verf ); cv.DrawRect( 50, 0, 50+balk, hoog, verf ); cv.DrawRect( 90, 0, 90+balk, hoog, verf ); cv.DrawRect( 0, 40, breed, 40+balk, verf ); cv.DrawRect( 0, 70, breed, 70+balk, verf ); verf.Color = Color.Red; cv.DrawRect(90+balk, 0, breed, 40, verf ); int balk, breed, hoog balk = 10; breed = 200; hoog = 100; gebruik van variabelen toekennings- opdrachten: variabelen krijgen een waarde declaratie: aankondigen van variabelen en hun type type int: geheel getal

Variabelen groet = "Hallo " + naam + "!"; scherm.Text = groet; naam = editbox.Text; string naam, groet; gebruik van variabelen toekennings- opdrachten: variabelen krijgen een waarde declaratie: aankondigen van variabelen en hun type type string: tekst

Variabelen scherm. Text = "Hallo"; this.SetContentView (scherm); scherm = new TextView (); TextView scherm; gebruik van variabelen toekennings- opdrachten: variabelen krijgen een waarde declaratie: aankondigen van variabelen en hun type type TextView: opschrift

Syntax van opdracht opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam +=

Syntax van declaratie type klasse naam int string declaratie naamtype, =expressieconst ; var

Plaats van een declaratie blok declaratie opdracht {}

Variabelen Paint verf; verf = new Paint(); verf.Color=Color.Black; verf.Color = Color.Blue; cv.DrawRect( 0, 40+balk, 10, 70, verf ); cv.DrawRect( 10, 0, 10+balk, hoog, verf ); cv.DrawRect( 50, 0, 50+balk, hoog, verf ); cv.DrawRect( 90, 0, 90+balk, hoog, verf ); cv.DrawRect( 0, 40, breed, 40+balk, verf ); cv.DrawRect( 0, 70, breed, 70+balk, verf ); verf.Color = Color.Red; cv.DrawRect(90+balk, 0, breed, 40, verf ); int balk, breed, hoog balk = 10; breed = 200; hoog = 100; int x1, x2, x3, y1, y2; x1=10; x2=50; x3=90; y1=40; y2=70; x1x2x3 y1 y2

Variabelen Paint verf; verf = new Paint(); verf.Color=Color.Black; verf.Color = Color.Blue; cv.DrawRect( 0, y1+balk, x1, y2, verf ); cv.DrawRect( x1, 0, x1+balk, hoog, verf ); cv.DrawRect( x2, 0, x2+balk, hoog, verf ); cv.DrawRect( x3, 0, x3+balk, hoog, verf ); cv.DrawRect( 0, y1, breed, y1+balk, verf ); cv.DrawRect( 0, y2, breed, y2+balk, verf ); verf.Color = Color.Red; cv.DrawRect(x3+balk, 0, breed, y1, verf ); int balk, breed, hoog balk = 10; breed = 200; hoog = 100; int x1, x2, x3, y1, y2; x1=10; x2=50; x3=90; y1=40; y2=70; x1x2x3 y1 y2

nExpressie: stukje programma met een waarde nGebruik van expressies: uRechterkant van een toekennings-opdracht uParameter van een methode Expressies x3 = x2+40 ; cv.DrawRect(0, y1+balk, x1, y2, verf) ;

expressie Opbouw van expressies nconstante nvariabele n... operator... n(... ) 5 hoogte x + y (y + 1) + 1 x - expressie

Operatoren n+optellen n-aftrekken n*vermenigvuldigen n/delen n%rest bij deling bij deling van int-waarden: cijfers achter de komma worden afgekapt! 14 / 3 geeft 4 want 14 is 4* % 3 geeft 2

Prioriteit van operatoren nVermenigvuldigen gaat voor optellen nBij gelijke prioriteit: van links naar rechts nWil je ’t anders: zet haakjes * 3 geeft 7 en delen en aftrekken geeft 3 (1+2) * 3 geeft 9

Syntax van expressies expressie getal expressie operator expressie() variabele ”” symbool

Gebruik van expressies in opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam +=

Gebruik van expressies in opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam +=

Gebruik van expressies in opdrachten en expressies opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += expressie constante expressie operator expressie() variabele

Het type van een expressie n98765 n"Hallo" nbreedte n n"Hallo " + naam nnaam.Length n"Hallo " + naam.Length nColor.Red int string Color int string int string type klasse naam int string

Het type van een expressie nColor.Red Color Paint Button nnew Paint() nnew Button(this) Color nnew Color(255, 128, 0)

-syntax expressie getal expressie operator expressie() variabele ”” symbool object expressie (), new klasse naam property naam this klasse naam methode naam.

Programma nasd using Android.OS; using Android.App; using Android.Views; using Android.Graphics; using Android.Content; using Android.Content.PM; [ActivityAttribute(Label = "Mondriaan", MainLauncher = true, ScreenOrientation = ScreenOrientation.Landscape)] public class MondriaanApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); MondriaanView schilderij; schilderij = new MondriaanView(this); this.SetContentView(schilderij); } } public class MondriaanView : View { public MondriaanView(Context c) : base(c) { this.SetBackgroundColor(Color.AntiqueWhite); } protected override void OnDraw(Canvas canvas) { base.OnDraw(canvas); int breedte, hoogte, balk, x1, x2, x3, y1, y2; breedte = this.Width; hoogte = this.Height; x1 = 50; x2 = 250; x3 = 450; y1 = 150; y2 = 350; balk = 50; Paint verf; verf = new Paint(); verf.Color = Color.Black; canvas.DrawRect(x1, 0, x1+balk, hoogte, verf); canvas.DrawRect(x2, 0, x2+balk, hoogte, verf); canvas.DrawRect(x3, 0, x3+balk, hoogte, verf); canvas.DrawRect(0, y1, breedte, y1+balk, verf); canvas.DrawRect(0, y2, breedte, y2+balk, verf); verf.Color = Color.Blue; canvas.DrawRect(0, y1+balk, x1, y2, verf); verf.Color = Color.Red; canvas.DrawRect(x3+balk, 0, breedte, y1, verf); }

Programma met commentaar nasd /* Dit programma tekent een Mondriaan-achtige "Compositie met rood en blauw“ */ using Android.OS; // vanwege Bundle using Android.App; // vanwege Activity using Android.Views; // vanwege View using Android.Graphics; // vanwege Color, Paint, Canvas using Android.Content; // vanwege Context using Android.Content.PM;// vanwege ScreenOrientation [ActivityAttribute(Label = "Mondriaan", MainLauncher = true, ScreenOrientation = ScreenOrientation.Landscape)] public class MondriaanApp : Activity { protected override void OnCreate(Bundle b) { base.OnCreate(b); MondriaanView schilderij; schilderij = new MondriaanView(this); this.SetContentView(schilderij); } } public class MondriaanView : View { public MondriaanView(Context c) : base(c) { this.SetBackgroundColor(Color.AntiqueWhite); } protected override void OnDraw(Canvas canvas) { base.OnDraw(canvas); int breedte, hoogte, balk, x1, x2, x3, y1, y2; breedte = this.Width; hoogte = this.Height; x1 = 50; x2 = 250; x3 = 450; y1 = 150; y2 = 350; balk = 50; Paint verf; verf = new Paint(); // zwarte balken verf.Color = Color.Black; canvas.DrawRect(x1, 0, x1+balk, hoogte, verf); canvas.DrawRect(x2, 0, x2+balk, hoogte, verf); canvas.DrawRect(x3, 0, x3+balk, hoogte, verf); canvas.DrawRect(0, y1, breedte, y1+balk, verf); canvas.DrawRect(0, y2, breedte, y2+balk, verf); // gekleurde vlakken verf.Color = Color.Blue; canvas.DrawRect(0, y1+balk, x1, y2, verf); verf.Color = Color.Red; canvas.DrawRect(x3+balk, 0, breedte, y1, verf); }

Commentaar nTekst voor de menselijke lezer, genegeerd door de compiler nTwee vormen: uvan /* tot */ uvan // tot einde regel