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;
        }
Exemple #3
0
    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;
        }
Exemple #6
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        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;
		}