public CircularGaugeSample() { gauge = new SFCircularGauge(); gauge.Scales.Add(new SFCircularScale()); ObservableCollection <SFCircularScale> scales = new ObservableCollection <SFCircularScale>(); SFCircularScale scale = new SFCircularScale(); scale.StartValue = 0; scale.EndValue = 100; scale.Interval = 10; //scale.StartAngle = 35; // scale.SweepAngle = 320; scale.RimWidth = 5; scale.ShowTicks = false; scale.ShowLabels = true; scale.RimColor = UIColor.FromRGB(224, 224, 224); scale.LabelColor = UIColor.Black; scale.LabelOffset = 0.8f; scale.MinorTicksPerInterval = 0; ObservableCollection <SFCircularPointer> pointers = new ObservableCollection <SFCircularPointer>(); needlePointer = new SFNeedlePointer(); needlePointer.Value = 60; needlePointer.Color = UIColor.FromRGB(117, 117, 117); needlePointer.KnobRadius = 12; needlePointer.KnobColor = UIColor.FromRGB(117, 117, 117); needlePointer.Width = 3; needlePointer.LengthFactor = 0.6f; needlePointer.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle; scale.Pointers.Add(needlePointer); scales.Add(scale); gauge.Scales = scales; this.AddSubview(gauge); CreateOptionView(); this.OptionView = option; }
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 CircularGaugeAnnotation() { Gauge = new SFCircularGauge(); SFCircularScale scale = new SFCircularScale(); scale.StartValue = 0; scale.EndValue = 12; scale.Interval = 1; scale.Interval = 1; scale.MinorTicksPerInterval = 4; scale.RimColor = UIColor.FromRGB(237, 238, 239); scale.LabelColor = UIColor.Gray; scale.LabelOffset = 0.8f; scale.ScaleEndOffSet = 0.925f; scale.StartAngle = -180; scale.SweepAngle = 180; scale.LabelFont = UIFont.SystemFontOfSize(14); scale.ShowFirstLabel = false; scale.MinorTickSettings = new SFTickSettings { Color = UIColor.Black, StartOffset = 1, EndOffset = .95f, Width = 1 }; scale.MajorTickSettings = new SFTickSettings { Color = UIColor.Black, StartOffset = 1, EndOffset = .9f, Width = 3 }; scale.Ranges = new ObservableCollection <SFCircularRange> { new SFCircularRange { StartValue = 0, EndValue = 3, Color = UIColor.Gray, InnerStartOffset = 0.925f, OuterStartOffset = 1, InnerEndOffset = 0.925f, OuterEndOffset = 1 } }; scale.Pointers = new ObservableCollection <SFCircularPointer> { new SFNeedlePointer { EnableAnimation = false, KnobRadius = 6, LengthFactor = .75f, KnobColor = UIColor.White, Color = UIColor.Black, Width = 3.5f, KnobStrokeColor = UIColor.Black, KnobStrokeWidth = 5, TailLengthFactor = 0.25f, TailColor = UIColor.Black }, new SFNeedlePointer { EnableAnimation = false, KnobRadius = 6, LengthFactor = .4f, KnobColor = UIColor.White, Color = UIColor.Black, Width = 5, PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle }, new SFNeedlePointer { EnableAnimation = false, KnobRadius = 6, LengthFactor = .65f, KnobColor = UIColor.White, Color = UIColor.Black, Width = 5, PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle }, }; SFGaugeAnnotation anno = new SFGaugeAnnotation(); LabelAnnotation1 = new UILabel { Text = "", Font = UIFont.FromName("Helvetica", 12f), TextColor = UIColor.Black }; LabelAnnotation1.Frame = new CGRect(0, 0, 50, 50); anno.View = LabelAnnotation1; anno.Angle = 00; anno.Offset = 0.5f; SFGaugeAnnotation anno1 = new SFGaugeAnnotation(); LabelAnnotation2 = new UILabel { Text = "", Font = UIFont.FromName("Helvetica", 12f), TextColor = UIColor.Black }; LabelAnnotation2.Frame = new CGRect(0, 0, 50, 50); anno1.View = LabelAnnotation2; anno1.Angle = 300; anno1.Offset = 0.6f; Annotation1 = new SFCircularGauge() { Scales = new ObservableCollection <SFCircularScale> { new SFCircularScale() { StartAngle = -180, SweepAngle = 180, ShowLabels = false, StartValue = 0, EndValue = 60, Interval = 5, RimColor = UIColor.FromRGB(237, 238, 239), Ranges = new ObservableCollection <SFCircularRange> { new SFCircularRange() { StartValue = 0, EndValue = 30, Color = UIColor.Gray, InnerStartOffset = 0.925f, OuterStartOffset = 1, InnerEndOffset = 0.925f, OuterEndOffset = 1 }, }, MajorTickSettings = new SFTickSettings { Color = UIColor.Black, StartOffset = 1, EndOffset = .85f, Width = 2f }, MinorTickSettings = new SFTickSettings { Color = UIColor.Black, StartOffset = 1, EndOffset = .90f, Width = 0.5f }, Pointers = new ObservableCollection <SFCircularPointer> { new SFNeedlePointer { PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle, KnobRadius = 4, Width = 3, EnableAnimation = false, KnobColor = UIColor.Black, Color = UIColor.Black } } } } }; Annotation1.Annotations.Add(anno1); Annotation1.Frame = new CGRect(0, 0, 70, 70); SFGaugeAnnotation anno2 = new SFGaugeAnnotation(); anno2.View = Annotation1; anno2.Angle = 90; anno2.Offset = 0.5f; SFGaugeAnnotation anno3 = new SFGaugeAnnotation(); LabelAnnotation3 = new UILabel { Text = "", Font = UIFont.FromName("Helvetica", 12f), TextColor = UIColor.Black }; LabelAnnotation3.Frame = new CGRect(10, 10, 50, 50); anno3.View = LabelAnnotation3; anno3.Angle = 300; anno3.Offset = 0.55f; Annotation2 = new SFCircularGauge { Scales = new ObservableCollection <SFCircularScale> { new SFCircularScale() { StartAngle = -180, SweepAngle = 180, StartValue = 0, EndValue = 60, Interval = 5, ShowLabels = false, RimColor = UIColor.FromRGB(237, 238, 239), Ranges = new ObservableCollection <SFCircularRange> { new SFCircularRange() { StartValue = 0, EndValue = 30, Color = UIColor.Gray, InnerStartOffset = 0.925f, OuterStartOffset = 1, InnerEndOffset = 0.925f, OuterEndOffset = 1 }, }, MajorTickSettings = new SFTickSettings { Color = UIColor.Black, StartOffset = 1, EndOffset = .85f, Width = 2 }, MinorTickSettings = new SFTickSettings { Color = UIColor.Black, StartOffset = 1, EndOffset = .90f, Width = 0.5f }, Pointers = new ObservableCollection <SFCircularPointer> { new SFNeedlePointer { PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle, KnobRadius = 4, Width = 3, EnableAnimation = false, KnobColor = UIColor.Black, Color = UIColor.Black } } } } }; Annotation2.Annotations.Add(anno3); Annotation2.Frame = new CGRect(0, 0, 70, 70); SFGaugeAnnotation anno4 = new SFGaugeAnnotation(); anno4.View = Annotation2; anno4.Angle = 180; anno4.Offset = 0.5f; Gauge.Scales.Add(scale); Gauge.Annotations.Add(anno); Gauge.Annotations.Add(anno2); Gauge.Annotations.Add(anno4); DynamicUpdate(); this.AddSubview(Gauge); }
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 MultipleScales() { gauge = new SFCircularGauge(); scale1 = new SFCircularScale(); scale1.StartValue = 0; scale1.EndValue = 240; scale1.Interval = 20; scale1.MinorTicksPerInterval = 1; scale1.ScaleStartOffset = 0.7f; scale1.ScaleEndOffSet = 0.69f; scale1.LabelOffset = 0.88f; scale1.LabelColor = UIColor.FromRGB(198, 46, 10); scale1.RimColor = UIColor.FromRGB(198, 46, 10); SFTickSettings major = new SFTickSettings(); major.StartOffset = 0.7f; major.EndOffset = 0.77f; major.Width = 2; major.Color = UIColor.FromRGB(198, 46, 10); SFTickSettings minor = new SFTickSettings(); minor.StartOffset = 0.7f; minor.EndOffset = 0.77f; minor.Width = 2; minor.Color = UIColor.FromRGB(198, 46, 10); scale1.MajorTickSettings = major; scale1.MinorTickSettings = minor; SFMarkerPointer pointer1 = new SFMarkerPointer(); pointer1.Value = 120; pointer1.Color = UIColor.FromRGB(198, 46, 10); pointer1.Offset = 0.69f; pointer1.MarkerShape = MarkerShape.InvertedTriangle; pointer1.EnableAnimation = false; scale1.Pointers.Add(pointer1); gauge.Scales.Add(scale1); scale2 = new SFCircularScale(); scale2.StartValue = 0; scale2.EndValue = 160; scale2.Interval = 40; scale2.MinorTicksPerInterval = 1; scale2.RimColor = UIColor.FromRGB(51, 51, 51); scale2.LabelOffset = 0.45f; scale2.LabelColor = UIColor.FromRGB(51, 51, 51); scale2.ScaleStartOffset = 0.65f; scale2.ScaleEndOffSet = 0.64f; SFTickSettings major1 = new SFTickSettings(); major1.StartOffset = 0.64f; major1.EndOffset = 0.57f; major1.Width = 2; major1.Color = UIColor.FromRGB(51, 51, 51); scale2.MajorTickSettings = major1; SFTickSettings minor1 = new SFTickSettings(); minor1.StartOffset = 0.64f; minor1.EndOffset = 0.59f; minor1.Width = 2; minor1.Color = UIColor.FromRGB(51, 51, 51); scale2.MinorTickSettings = minor1; SFMarkerPointer pointer2 = new SFMarkerPointer(); pointer2.Value = 80; pointer2.Color = UIColor.FromRGB(51, 51, 51); pointer2.Offset = 0.65f; pointer2.MarkerShape = MarkerShape.Triangle; pointer2.EnableAnimation = false; scale2.Pointers.Add(pointer2); gauge.Scales.Add(scale2); this.AddSubview(gauge); CreateOptionView(); this.OptionView = option; }
public DirectionCompass() { this.BackgroundColor = UIColor.White; gauge = new SFCircularGauge(); gauge.BackgroundColor = UIColor.White; opposed = new UIPickerView(); SFCircularScale scale = new SFCircularScale(); scale.StartValue = 0; scale.EndValue = 16; scale.Interval = 2; scale.LabelOffset = 0.75f; scale.StartAngle = 0; scale.SweepAngle = 360; scale.MinorTicksPerInterval = 1; scale.ShowLastLabel = false; scale.ScaleStartOffset = 0.99f; scale.ScaleEndOffSet = 0.9f; scale.MajorTickSettings.Offset = 0.9f; scale.MinorTickSettings.Offset = 0.9f; scale.MinorTickSettings.EndOffset = 0.4f; scale.RimColor = UIColor.FromRGB(224, 224, 224); scale.LabelColor = UIColor.FromRGB(75, 75, 75); SFNeedlePointer pointer1 = new SFNeedlePointer(); pointer1.Value = 14; pointer1.Color = UIColor.LightGray; pointer1.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle; pointer1.LengthFactor = 0.65f; pointer1.Width = 20; pointer1.KnobRadiusFactor = 0; pointer1.KnobRadius = 0; pointer1.KnobColor = UIColor.White; pointer1.KnobStrokeColor = UIColor.White; pointer1.KnobStrokeWidth = 3; pointer1.EnableAnimation = false; scale.Pointers.Add(pointer1); pointer2 = new SFNeedlePointer(); pointer2.Value = 6; pointer2.Color = UIColor.Red; pointer2.Width = 20; pointer2.KnobRadius = 20; pointer2.KnobColor = UIColor.White; pointer2.KnobStrokeColor = UIColor.White; pointer2.KnobStrokeWidth = 3; pointer2.LengthFactor = 0.65f; pointer2.PointerType = SFCiruclarGaugePointerType.SFCiruclarGaugePointerTypeTriangle; pointer2.EnableAnimation = false; scale.Pointers.Add(pointer2); gauge.Scales.Add(scale); gauge.Delegate = new CutomDelegate(); this.AddSubview(gauge); CreateOptionView(); this.OptionView = option; }
public GradientRange() { gauge = new SFCircularGauge(); gauge.BackgroundColor = UIColor.White; ObservableCollection <SFCircularScale> scales = new ObservableCollection <SFCircularScale>(); SFCircularScale scale = new SFCircularScale(); scale.StartValue = 0; scale.EndValue = 100; scale.Interval = 10; scale.ShowRim = false; scale.ShowTicks = false; scale.ShowLabels = false; SFCircularRange range = new SFCircularRange(); range.Offset = 0.8f; range.StartValue = 0; range.EndValue = 100; range.Width = 25; GaugeGradientStop color1 = new GaugeGradientStop(); color1.Value = 0; color1.Color = UIColor.FromRGB(240, 62, 62); range.GradientStops.Add(color1); GaugeGradientStop color2 = new GaugeGradientStop(); color2.Value = 35; color2.Color = UIColor.FromRGB(255, 221, 0); range.GradientStops.Add(color2); GaugeGradientStop color3 = new GaugeGradientStop(); color3.Value = 75; color3.Color = UIColor.FromRGB(255, 221, 0); range.GradientStops.Add(color3); GaugeGradientStop color4 = new GaugeGradientStop(); color4.Value = 100; color4.Color = UIColor.FromRGB(48, 179, 45); range.GradientStops.Add(color4); scale.Ranges.Add(range); ObservableCollection <SFMarkerPointer> pointers = new ObservableCollection <SFMarkerPointer>(); SFMarkerPointer pointer = new SFMarkerPointer(); pointer.MarkerShape = MarkerShape.InvertedTriangle; pointer.Offset = 0.8f; pointer.Value = 55; pointer.MarkerWidth = 15; pointer.MarkerHeight = 15; pointer.Color = UIColor.Red; pointers.Add(pointer); scale.Pointers.Add(pointer); SFGaugeHeader header1 = new SFGaugeHeader(); header1.Text = (Foundation.NSString) "0"; header1.TextColor = UIColor.FromRGB(240, 62, 62); header1.Position = new CGPoint(0.28, 0.86); header1.TextStyle = UIFont.BoldSystemFontOfSize(12); gauge.Headers.Add(header1); SFGaugeHeader header2 = new SFGaugeHeader(); header2.Text = (Foundation.NSString) "100"; header2.TextColor = UIColor.FromRGB(48, 179, 45); header2.Position = new CGPoint(0.75, 0.86); header2.TextStyle = UIFont.BoldSystemFontOfSize(12); gauge.Headers.Add(header2); SFGaugeHeader header3 = new SFGaugeHeader(); header3.Text = (Foundation.NSString) "55%"; header3.TextColor = UIColor.FromRGB(240, 62, 62); header3.Position = new CGPoint(0.5, 0.5); header1.TextStyle = UIFont.BoldSystemFontOfSize(16); gauge.Headers.Add(header3); scales.Add(scale); gauge.Scales = scales; this.AddSubview(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); }
public PointerDragging() { gauge = new SFCircularGauge(); header = new SFGaugeHeader(); header.Position = new CGPoint(0.5, 0.5); header.TextStyle = UIFont.FromName("Helvetica", 25f); header.TextColor = UIColor.FromRGB(255, 69, 0); header.Text = (NSString)("08" + " h" + " 00" + " min"); gauge.Headers.Add(header); SFCircularScale scale = new SFCircularScale(); scale.StartValue = 0; scale.EndValue = 12; scale.StartAngle = 180; scale.SweepAngle = 540; scale.Interval = 1; scale.LabelOffset = 0.67f; scale.ShowFirstLabel = false; scale.ScaleStartOffset = 0.9f; scale.ScaleEndOffSet = 0.8f; scale.MinorTicksPerInterval = 4; SFTickSettings majorTickSetting = new SFTickSettings(); majorTickSetting.StartOffset = 0.8f; majorTickSetting.EndOffset = 0.72f; majorTickSetting.Width = 2; majorTickSetting.Color = UIColor.DarkGray; SFTickSettings minorTickSetting = new SFTickSettings(); minorTickSetting.StartOffset = 0.8f; minorTickSetting.EndOffset = 0.75f; scale.MajorTickSettings = majorTickSetting; scale.MinorTickSettings = minorTickSetting; markerPointer1 = new SFMarkerPointer(); markerPointer1.EnableAnimation = false; markerPointer1.EnableDragging = true; markerPointer1.Offset = 0.9f; markerPointer1.Value = firstMarkerValue; markerPointer1.MarkerShape = MarkerShape.Circle; markerPointer1.Color = UIColor.FromRGB(247, 206, 114); markerPointer1.ValueChanging += MarkerPointer1_ValueChanging; markerPointer2 = new SFMarkerPointer(); markerPointer2.EnableAnimation = false; markerPointer2.EnableDragging = true; markerPointer2.Offset = 0.9f; markerPointer2.Value = secondMarkerValue; markerPointer2.MarkerShape = MarkerShape.Circle; markerPointer2.Color = UIColor.FromRGB(247, 206, 114); markerPointer2.ValueChanging += MarkerPointer2_ValueChanging;; scale.Pointers.Add(markerPointer1); scale.Pointers.Add(markerPointer2); range = new SFCircularRange(); range.StartValue = markerPointer1.Value; range.EndValue = markerPointer2.Value; range.InnerEndOffset = 0.8f; range.InnerStartOffset = 0.8f; range.OuterEndOffset = 0.9f; range.OuterStartOffset = 0.9f; range.Color = UIColor.FromRGB(229, 121, 130); gauge.PointerPositionChange += Gauge_PointerPositionChange; scale.Ranges.Add(range); gauge.Scales.Add(scale); this.AddSubview(gauge); }
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; }