public GaugeCustomization() { gauge1 = new SFCircularGauge(); rangePointerColor = new UIPickerView(); needlePointerColor = new UIPickerView(); rangeColor = new UIPickerView(); SFGaugeHeader header1 = new SFGaugeHeader(); header1.Position = new CGPoint(0.5, 0.06); header1.Text = (Foundation.NSString) "800 GB"; header1.TextColor = UIColor.Black; header1.TextStyle = UIFont.SystemFontOfSize(20); gauge1.Headers.Add(header1); SFCircularScale scale1 = new SFCircularScale(); scale1.StartAngle = 110; scale1.SweepAngle = 250; scale1.StartValue = 0; scale1.EndValue = 1000; scale1.Interval = 500; scale1.ShowLabels = false; scale1.ShowTicks = false; scale1.ShowRim = false; scale1.MinorTicksPerInterval = 0; pointer1 = new SFRangePointer(); pointer1.Value = 800; pointer1.KnobRadius = 0; pointer1.EnableAnimation = false; pointer1.Color = UIColor.FromRGB(255, 221, 0); pointer1.KnobColor = UIColor.FromRGB(255, 221, 0); pointer1.Width = 20; pointer1.Offset = 0.7f; scale1.Pointers.Add(pointer1); pointer2 = new SFNeedlePointer(); pointer2.Value = 800; pointer2.Color = UIColor.FromRGB(66, 66, 66); pointer2.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle; pointer2.LengthFactor = 0.7f; pointer2.Width = 5f; pointer2.KnobRadiusFactor = 0.1f; pointer2.KnobColor = UIColor.FromRGB(66, 66, 66); scale1.Pointers.Add(pointer2); range = new SFCircularRange(); range.StartValue = 0; range.EndValue = 1000; range.Offset = 0.7f; range.Width = 20; range.Color = UIColor.FromRGB(224, 224, 224); scale1.Ranges.Add(range); gauge1.Scales.Add(scale1); gauge2 = new SFCircularGauge(); SFGaugeHeader header2 = new SFGaugeHeader(); header2.Position = new CGPoint(0.5, 0.5); header2.Text = (Foundation.NSString) "800 GB"; header2.TextColor = UIColor.Black; header2.TextStyle = UIFont.SystemFontOfSize(20); SFGaugeHeader header3 = new SFGaugeHeader(); header3.Position = new CGPoint(0.5, 0.6); header3.Text = (Foundation.NSString) "Used"; header3.TextColor = UIColor.Gray; header3.TextStyle = UIFont.SystemFontOfSize(18); gauge2.Headers.Add(header2); gauge2.Headers.Add(header3); SFCircularScale scale2 = new SFCircularScale(); scale2.StartAngle = -180; scale2.SweepAngle = 180; scale2.StartValue = 0; scale2.EndValue = 1000; scale2.Interval = 500; scale2.ShowLabels = false; scale2.ShowTicks = false; scale2.ShowRim = false; scale2.MinorTicksPerInterval = 0; pointer3 = new SFRangePointer(); pointer3.Value = 800; pointer3.EnableAnimation = false; pointer3.Color = UIColor.FromRGB(255, 221, 0); pointer3.Width = 20; pointer3.Offset = 0.8f; scale2.Pointers.Add(pointer3); range1 = new SFCircularRange(); range1.StartValue = 0; range1.EndValue = 1000; range1.Offset = 0.8f; range1.Width = 20; range1.Color = UIColor.FromRGB(224, 224, 224); scale2.Ranges.Add(range1); gauge2.Scales.Add(scale2); this.AddSubview(gauge1); this.AddSubview(gauge2); CreateOptionView(); this.OptionView = option; }
public CircularGauge() { gauge = new SFCircularGauge(); gauge.Scales.Add(new SFCircularScale()); NSMutableArray scales = new NSMutableArray(); scale = new SFCircularScale(); scale.StartValue = 0; scale.EndValue = 100; scale.Interval = 10; scale.StartAngle = 35; scale.SweepAngle = 320; scale.RimWidth = 5; // scale.LabelPostfix = (NSString)"%"; scale.ShowTicks = true; scale.ShowLabels = true; scale.RimColor = UIColor.FromRGB((byte)209, (byte)70, (byte)70); scale.LabelColor = UIColor.Gray; scale.LabelOffset = 0.3f; scale.MinorTicksPerInterval = 0; NSMutableArray pointers = new NSMutableArray(); needlePointer = new SFNeedlePointer(); needlePointer.Value = 60; needlePointer.Color = UIColor.Gray; needlePointer.KnobRadius = 12; needlePointer.KnobColor = UIColor.FromRGB(43, 191, 184); needlePointer.Width = 3; needlePointer.LengthFactor = nfloat.Parse("0.8"); // needlePointer.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeBar; rangePointer = new SFRangePointer(); rangePointer.Value = 60; rangePointer.Color = UIColor.FromRGB(43, 191, 184); rangePointer.Width = 5; pointers.Add(needlePointer); pointers.Add(rangePointer); SFTickSettings minor = new SFTickSettings(); minor.Size = 4; minor.Color = UIColor.FromRGB(68, 68, 68); minor.Width = 3; scale.MinorTickSettings = minor; SFTickSettings major = new SFTickSettings(); major.Size = 12; major.Offset = 0.2f; major.Color = UIColor.FromRGB(68, 68, 68); major.Width = 2; scale.MajorTickSettings = major; scale.Pointers = pointers; scales.Add(scale); gauge.Scales = scales; SFGaugeHeader header = new SFGaugeHeader(); header.Text = (NSString)"Speedometer"; header.Position = new CGPoint(0.4f, 0.7f); header.TextColor = UIColor.Gray; gauge.Headers.Add(header); this.AddSubview(gauge); this.control = gauge; }
public Pointers() { scroll = new UIScrollView(); gauge1 = new SFCircularGauge(); SFGaugeHeader header1 = new SFGaugeHeader(); header1.Position = new CGPoint(0.5, 0.6); header1.TextStyle = UIFont.SystemFontOfSize(14); header1.Text = (Foundation.NSString) "Inverted Triangle"; header1.TextColor = UIColor.Black; gauge1.Headers.Add(header1); SFCircularScale scale1 = new SFCircularScale(); scale1.StartAngle = 90; scale1.SweepAngle = 270; scale1.ScaleStartOffset = 0.7f; scale1.ScaleEndOffSet = 0.68f; scale1.StartValue = 0; scale1.EndValue = 100; scale1.RimColor = UIColor.Gray; scale1.Interval = 50; scale1.ShowLabels = false; scale1.ShowTicks = false; scale1.MinorTicksPerInterval = 0; SFMarkerPointer pointer1 = new SFMarkerPointer(); pointer1.Value = 80; pointer1.Offset = 0.7f; pointer1.MarkerShape = MarkerShape.InvertedTriangle; pointer1.Color = UIColor.FromRGB(0, 180, 174); scale1.Pointers.Add(pointer1); gauge1.Scales.Add(scale1); gauge2 = new SFCircularGauge(); SFGaugeHeader header2 = new SFGaugeHeader(); header2.Position = new CGPoint(0.5, 0.6); header2.TextStyle = UIFont.SystemFontOfSize(14); header2.Text = (Foundation.NSString) "Triangle"; header2.TextColor = UIColor.Black; gauge2.Headers.Add(header2); SFCircularScale scale2 = new SFCircularScale(); scale2.StartAngle = 90; scale2.SweepAngle = 270; scale2.ScaleStartOffset = 0.7f; scale2.ScaleEndOffSet = 0.68f; scale2.StartValue = 0; scale2.EndValue = 100; scale2.RimColor = UIColor.Gray; scale2.Interval = 50; scale2.ShowLabels = false; scale2.ShowTicks = false; scale2.MinorTicksPerInterval = 0; SFMarkerPointer pointer2 = new SFMarkerPointer(); pointer2.Value = 80; pointer2.Offset = 0.68f; pointer2.MarkerShape = MarkerShape.Triangle; pointer2.Color = UIColor.Green; scale2.Pointers.Add(pointer2); gauge2.Scales.Add(scale2); gauge3 = new SFCircularGauge(); SFGaugeHeader header3 = new SFGaugeHeader(); header3.Position = new CGPoint(0.5, 0.6); header3.TextStyle = UIFont.SystemFontOfSize(14); header3.Text = (Foundation.NSString) "Range Pointer"; header3.TextColor = UIColor.Black; gauge3.Headers.Add(header3); SFCircularScale scale3 = new SFCircularScale(); scale3.StartAngle = 90; scale3.SweepAngle = 270; scale3.ScaleStartOffset = 0.7f; scale3.ScaleEndOffSet = 0.68f; scale3.StartValue = 0; scale3.EndValue = 100; scale3.RimColor = UIColor.Gray; scale3.Interval = 50; scale3.ShowLabels = false; scale3.ShowTicks = false; scale3.MinorTicksPerInterval = 0; SFRangePointer pointer3 = new SFRangePointer(); pointer3.Value = 60; pointer3.Offset = 0.6f; pointer3.Width = 15; pointer3.Color = UIColor.FromRGB(255, 38, 128); scale3.Pointers.Add(pointer3); gauge3.Scales.Add(scale3); gauge4 = new SFCircularGauge(); SFGaugeHeader header4 = new SFGaugeHeader(); header4.Position = new CGPoint(0.5, 0.7); header4.TextStyle = UIFont.SystemFontOfSize(14); header4.Text = (Foundation.NSString) "Multiple Needle"; header4.TextColor = UIColor.Black; gauge4.Headers.Add(header4); SFCircularScale scale4 = new SFCircularScale(); scale4.StartAngle = 90; scale4.SweepAngle = 270; scale4.ScaleStartOffset = 0.7f; scale4.ScaleEndOffSet = 0.68f; scale4.StartValue = 0; scale4.EndValue = 100; scale4.RimColor = UIColor.Gray; scale4.Interval = 50; scale4.ShowLabels = false; scale4.ShowTicks = false; scale4.MinorTicksPerInterval = 0; SFNeedlePointer pointer4 = new SFNeedlePointer(); pointer4.Value = 80; pointer4.Color = UIColor.Purple; pointer4.LengthFactor = 0.7f; pointer4.KnobRadius = 0; pointer4.Width = 10; pointer4.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle; scale4.Pointers.Add(pointer4); gauge4.Scales.Add(scale4); gauge5 = new SFCircularGauge(); SFGaugeHeader header5 = new SFGaugeHeader(); header5.Position = new CGPoint(0.5, 0.6); header5.TextStyle = UIFont.SystemFontOfSize(14); header5.Text = (Foundation.NSString) "Needle Pointer"; header5.TextColor = UIColor.Black; gauge5.Headers.Add(header5); SFCircularScale scale5 = new SFCircularScale(); scale5.StartAngle = 90; scale5.SweepAngle = 270; scale5.ScaleStartOffset = 0.7f; scale5.ScaleEndOffSet = 0.68f; scale5.StartValue = 0; scale5.EndValue = 100; scale5.RimColor = UIColor.Gray; scale5.Interval = 50; scale5.ShowLabels = false; scale5.ShowTicks = false; scale5.MinorTicksPerInterval = 0; SFNeedlePointer pointer5 = new SFNeedlePointer(); pointer5.Value = 40; pointer5.Color = UIColor.Purple; pointer5.LengthFactor = 0.5f; pointer5.KnobRadiusFactor = 0.05f; pointer5.Width = 10; pointer5.KnobColor = UIColor.White; pointer5.KnobStrokeColor = UIColor.FromRGB(237, 125, 49); pointer5.KnobStrokeWidth = 2f; pointer5.TailLengthFactor = 0.2f; pointer5.TailColor = UIColor.FromRGB(237, 125, 49); pointer5.TailStrokeColor = UIColor.FromRGB(237, 125, 49); pointer5.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle; scale5.Pointers.Add(pointer5); SFNeedlePointer pointer6 = new SFNeedlePointer(); pointer6.Value = 70; pointer6.Color = UIColor.Purple; pointer6.LengthFactor = 0.6f; pointer6.KnobRadiusFactor = 0.05f; pointer6.Width = 10; pointer6.KnobColor = UIColor.White; pointer6.KnobStrokeColor = UIColor.FromRGB(237, 125, 49); pointer6.KnobStrokeWidth = 2f; pointer6.TailLengthFactor = 0.25f; pointer6.TailColor = UIColor.FromRGB(237, 125, 49); pointer6.TailStrokeColor = UIColor.FromRGB(237, 125, 49); pointer6.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle; scale5.Pointers.Add(pointer6); gauge5.Scales.Add(scale5); scroll.AddSubview(gauge1); scroll.AddSubview(gauge2); scroll.AddSubview(gauge3); scroll.AddSubview(gauge4); scroll.AddSubview(gauge5); this.AddSubview(scroll); }
void SetupChart() { var totalExpenses = (nfloat)_category.GetExpenses().Sum(e => e.Value); var circularGauge = new SFCircularGauge(); var maxChartNumber = _category.Plan > 10 ? _category.Plan : 10; var scale = new SFCircularScale() { StartValue = 0, EndValue = (nfloat)maxChartNumber, StartAngle = 40, SweepAngle = 320, RimWidth = 6, Interval = (int)maxChartNumber / 6, ShowTicks = true, RimColor = StaticValues.LightBlue, MinorTicksPerInterval = 0, LabelOffset = 0.1f, MajorTickSettings = new SFTickSettings() { Color = StaticValues.LightBlue, Size = 2, Offset = 0.041f, Width = 1.5f }, MinorTickSettings = new SFTickSettings() { Color = StaticValues.LightBlue, Size = 8, Offset = 0.5f } }; var needlePointer = new SFNeedlePointer() { Value = totalExpenses, KnobColor = StaticValues.DarkBlue, KnobRadius = 12, Width = 1, LengthFactor = 0.7f, Color = StaticValues.LightBlue }; scale.Pointers.AddObjects(new List <SFNeedlePointer>() { needlePointer }.ToArray()); var rangePointer = new SFRangePointer() { Value = totalExpenses, Width = 6, Color = StaticValues.DarkBlue }; scale.Pointers.AddObjects(new List <SFRangePointer>() { rangePointer }.ToArray()); circularGauge.Scales.AddObjects(new List <SFCircularScale>() { scale }.ToArray()); circularGauge.Frame = new RectangleF(10, 10, (float)CategoryDetail_Chart.Bounds.Width - 10, (float)CategoryDetail_Chart.Bounds.Height + 10); CategoryDetail_Chart.AddSubview(circularGauge); }
void CreateCircularGauge() { m_circularGauge = new SFCircularGauge(); m_circularGauge.Frame = m_rect; ObservableCollection <SFCircularScale> scales = new ObservableCollection <SFCircularScale>(); m_circularScale = new SFCircularScale(); m_circularScale.StartValue = 0; m_circularScale.EndValue = 100; m_circularScale.Interval = 10; m_circularScale.StartAngle = 34; m_circularScale.SweepAngle = 325; m_circularScale.ShowTicks = true; m_circularScale.ShowLabels = true; m_circularScale.ShowRim = true; m_circularScale.LabelColor = UIColor.Gray; m_circularScale.LabelOffset = 0.8f; m_circularScale.MinorTicksPerInterval = 0; ObservableCollection <SFCircularPointer> pointers = new ObservableCollection <SFCircularPointer>(); m_needlePointer = new SFNeedlePointer(); m_needlePointer.Value = 60; m_needlePointer.Color = UIColor.Gray; m_needlePointer.KnobRadius = 12; m_needlePointer.KnobColor = UIColor.FromRGB(43, 191, 184); m_needlePointer.Width = 3; m_needlePointer.LengthFactor = 0.8f; // needlePointer.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeBar; m_rangePointer1 = new SFRangePointer(); m_rangePointer1.Value = 60; m_rangePointer1.Color = UIColor.FromRGB(43, 191, 184); m_rangePointer1.Width = 5; m_rangePointer1.EnableAnimation = true; m_rangePointer2 = new SFRangePointer(); m_rangePointer2.RangeStart = 60; m_rangePointer2.Value = 100; m_rangePointer2.Color = UIColor.FromRGB((byte)209, (byte)70, (byte)70); m_rangePointer2.Width = 5; m_rangePointer2.EnableAnimation = true; pointers.Add(m_needlePointer); pointers.Add(m_rangePointer1); pointers.Add(m_rangePointer2); SFTickSettings minor = new SFTickSettings(); minor.Size = 4; minor.Color = UIColor.FromRGB(68, 68, 68); minor.Width = 3; m_circularScale.MinorTickSettings = minor; SFTickSettings major = new SFTickSettings(); major.Size = 12; //major.Offset = 0.01f; major.Color = UIColor.FromRGB(68, 68, 68); major.Width = 2; m_circularScale.MajorTickSettings = major; m_circularScale.Pointers = pointers; SFGaugeHeader header = new SFGaugeHeader(); header.Text = (NSString)"Speedometer"; header.Position = new CGPoint(0.5f, 0.6f); header.TextColor = UIColor.Gray; scales.Add(m_circularScale); m_circularGauge.Scales = scales; m_circularGauge.Headers.Add(header); ViewX = m_circularGauge; }
public CircularGauge () { gauge = new SFCircularGauge (); gauge.Scales.Add (new SFCircularScale ()); NSMutableArray scales = new NSMutableArray(); scale = new SFCircularScale(); scale.StartValue = 0; scale.EndValue = 100; scale.Interval = 10; scale.StartAngle = 35; scale.SweepAngle = 320; scale.RimWidth = 5; // scale.LabelPostfix = (NSString)"%"; scale.ShowTicks = true; scale.ShowLabels = true; scale.RimColor = UIColor.FromRGB((byte)209,(byte)70,(byte)70); scale.LabelColor = UIColor.Gray; scale.LabelOffset = 0.3f; scale.MinorTicksPerInterval = 0; NSMutableArray pointers = new NSMutableArray(); needlePointer = new SFNeedlePointer(); needlePointer.Value = 60; needlePointer.Color = UIColor.Gray; needlePointer.KnobRadius = 12; needlePointer.KnobColor = UIColor.FromRGB(43, 191, 184); needlePointer.Width = 3; needlePointer.LengthFactor =nfloat.Parse("0.8"); // needlePointer.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeBar; rangePointer = new SFRangePointer(); rangePointer.Value = 60; rangePointer.Color = UIColor.FromRGB(43, 191, 184); rangePointer.Width = 5; pointers.Add(needlePointer); pointers.Add(rangePointer); SFTickSettings minor = new SFTickSettings(); minor.Size = 4; minor.Color = UIColor.FromRGB(68, 68, 68); minor.Width = 3; scale.MinorTickSettings = minor; SFTickSettings major = new SFTickSettings(); major.Size = 12; major.Offset = 0.2f; major.Color = UIColor.FromRGB(68,68,68); major.Width = 2; scale.MajorTickSettings = major; scale.Pointers = pointers; scales.Add(scale); gauge.Scales = scales; SFGaugeHeader header = new SFGaugeHeader(); header.Text = (NSString)"Speedometer"; header.Position = new CGPoint (0.4f, 0.7f); header.TextColor = UIColor.Gray; gauge.Headers.Add(header); this.AddSubview (gauge); this.control = gauge; }