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 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 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 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); }