protected override void OnDraw(Android.Graphics.Canvas canvas) { Paint paint = new Paint () { Color = Color.ForestGreen, StrokeWidth = 5 }; for (int i = 0; i < maxLevel; i++) { if (i < Level) paint.SetStyle (Paint.Style.Fill); else paint.SetStyle (Paint.Style.Stroke); canvas.DrawCircle (canvas.Height / 2 + canvas.Height*i , canvas.Height / 2, canvas.Height / 2 - 5, paint); } }
public override void Draw(Android.Graphics.Canvas canvas, MapView mapView, bool shadow) { base.Draw(canvas, mapView, shadow); var paint = new Paint(); paint.AntiAlias = true; paint.Color = Color.Purple; paint.Alpha = 127; var gp = new GeoPoint((int)(29.97611 * 1e6), (int)(31.132778 * 1e6)); var pt = mapView.Projection.ToPixels(gp, null); float distance = mapView.Projection.MetersToEquatorPixels(200); canvas.DrawCircle(pt.X, pt.Y, distance/2, paint); }
protected override void OnDraw(Android.Graphics.Canvas canvas) { var radius = (Height / 2) - 4; var middleX = Width / 2; var middleY = Height / 2; var minutes = (int)time.TotalMinutes; var rotation = minutes / 60; var color = baseQuadrantColor; for (int i = 0; i <= rotation; i++) { var angle = minutes > 60 ? 360 : (int)((minutes * 360f) / 60); canvas.DrawArc (new RectF (middleX - radius, middleY - radius, middleX + radius, middleY + radius), -90, angle, true, new Paint { Color = color, AntiAlias = true, }); minutes -= 60; color = Color.Rgb ((byte)Math.Max (0, color.R - 30), (byte)Math.Max (0, color.G - 30), (byte)Math.Max (0, color.B - 30)); } // Draw chrome Paint chromeBorder = new Paint { AntiAlias = true, Color = chromeColor, StrokeWidth = 1.ToPixels () }; chromeBorder.SetStyle (Paint.Style.Stroke); canvas.DrawCircle (middleX, middleY, radius, chromeBorder); // Draw markers var markerPaint = new Paint { Color = chromeColor, AntiAlias = true }; var innerRadius = radius - 6; for (int i = 0; i < 8; i++) { var stepAngle = i * Math.PI / 4; canvas.DrawCircle (middleX - (int)Math.Round (Math.Sin (stepAngle) * innerRadius), middleY - (int)Math.Round (Math.Cos (stepAngle) * innerRadius), 1, markerPaint); } }
public override void Draw(Android.Graphics.Canvas canvas) { canvas.DrawCircle (mainCenter, mainCenter + 2, radius + radiusBorder, shadowPaint); canvas.DrawCircle (mainCenter, mainCenter, radius + radiusBorder, darkerBackPaint); canvas.DrawCircle (mainCenter, mainCenter, radius, backPaint); canvas.DrawBitmap (icon, mainCenter - icon.Width / 2, mainCenter - icon.Height / 2, imgPaint); if (Count != 0) { int bubbleCenter = center - removeRadius - bubbleOffset; greenPaint.Alpha = redPaint.Alpha = currentBubbleTransparency; removePaint.Alpha = 255 - currentBubbleTransparency; canvas.DrawCircle (bubbleCenter, bubbleCenter, removeRadius, removePaint); canvas.DrawCircle (bubbleCenter, bubbleCenter, innerRadius, Count < 0 ? redPaint : greenPaint); var c = Math.Abs (Count).ToString (); var textBounds = new Rect (); removePaint.GetTextBounds (c, 0, c.Length, textBounds); canvas.DrawText (c, bubbleCenter, bubbleCenter + textBounds.Height () / 2, removePaint); } DrawingCacheEnabled = true; }