public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            View itemView = LayoutInflater.From(parent.Context).
                            Inflate(Resource.Layout.row, parent, false);
            var TestGaugeGauge = itemView.FindViewById <SfCircularGauge>(Resource.Id.linear);


            ObservableCollection <CircularScale> circularScales = new ObservableCollection <CircularScale>();
            CircularScale scale = new CircularScale();

            scale.StartValue            = 0;
            scale.EndValue              = 100;
            scale.Interval              = 10;
            scale.ScaleStartOffset      = 0.9;
            scale.ScaleEndOffset        = 0.85;
            scale.RimWidth              = 10;
            scale.RimColor              = Color.Gray;
            scale.ShowTicks             = false;
            scale.LabelColor            = Color.Black;
            scale.LabelOffset           = 0.8;
            scale.ShowLabels            = false;
            scale.MinorTicksPerInterval = 0;

            ObservableCollection <CircularPointer> pointers = new ObservableCollection <CircularPointer>();

            rangePointer                 = new RangePointer();
            rangePointer.Value           = 50;
            rangePointer.StartOffset     = 0.9;
            rangePointer.EndOffset       = 0.85;
            rangePointer.Color           = Color.Red;
            rangePointer.EnableAnimation = true;
            pointers.Add(rangePointer);


            NeedlePointer needlePointer = new NeedlePointer();

            needlePointer.Value           = 50;
            needlePointer.LengthFactor    = 0.7;
            needlePointer.KnobColor       = Color.Red;
            needlePointer.Color           = Color.Red;
            needlePointer.EnableAnimation = true;
            pointers.Add(needlePointer);

            scale.CircularPointers = pointers;
            circularScales.Add(scale);
            TestGaugeGauge.CircularScales = circularScales;

            Header header = new Header();

            header.Text      = rangePointer.Value.ToString();
            header.TextColor = Color.Black;
            TestGaugeGauge.Headers.Add(header);
            TestGaugeGauge.SetBackgroundColor(Color.White);

            RecyclerHolder vh = new RecyclerHolder(itemView);

            return(vh);
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.gauge, container, false);

            view.SetTag(view.Id, Tag);
            var TestGaugeGauge = view.FindViewById <SfCircularGauge>(Resource.Id.gauge1);


            ObservableCollection <CircularScale> circularScales = new ObservableCollection <CircularScale>();
            CircularScale scale = new CircularScale();

            scale.StartValue            = 0;
            scale.EndValue              = 100;
            scale.Interval              = 10;
            scale.ScaleStartOffset      = 0.9;
            scale.ScaleEndOffset        = 0.85;
            scale.RimWidth              = 10;
            scale.RimColor              = Color.Gray;
            scale.ShowTicks             = false;
            scale.LabelColor            = Color.Black;
            scale.LabelOffset           = 0.8;
            scale.ShowLabels            = false;
            scale.MinorTicksPerInterval = 0;

            ObservableCollection <CircularPointer> pointers = new ObservableCollection <CircularPointer>();

            rangePointer                 = new RangePointer();
            rangePointer.Value           = 50;
            rangePointer.StartOffset     = 0.9;
            rangePointer.EndOffset       = 0.85;
            rangePointer.Color           = Color.Green;
            rangePointer.EnableAnimation = true;
            pointers.Add(rangePointer);

            needlePointer                 = new NeedlePointer();
            needlePointer.Value           = 50;
            needlePointer.LengthFactor    = 0.7;
            needlePointer.KnobColor       = Color.Green;
            needlePointer.Color           = Color.Green;
            needlePointer.EnableAnimation = true;
            pointers.Add(needlePointer);

            scale.CircularPointers = pointers;
            circularScales.Add(scale);
            TestGaugeGauge.CircularScales = circularScales;

            Header header = new Header();

            header.Text      = rangePointer.Value.ToString();
            header.TextColor = Color.Black;
            TestGaugeGauge.Headers.Add(header);
            TestGaugeGauge.SetBackgroundColor(Color.White);
            return(view);
        }
        public MemoryView()
        {
            InitializeComponent();

            if (Device.RuntimePlatform == Device.iOS)
            {
                this.circularGauge.HeightRequest = 200;
            }
            else
            {
                circularGauge.VerticalOptions = LayoutOptions.FillAndExpand;
            }

            ObservableCollection <Scale> Scales = new ObservableCollection <Scale>();
            Scale scale = new Scale();

            scale.StartValue   = 0;
            scale.EndValue     = 100;
            scale.StartAngle   = 180;
            scale.SweepAngle   = 180;
            scale.RimThickness = 40;
            scale.RimColor     = Color.FromRgb(86, 86, 86);
            NeedlePointer pointer = new NeedlePointer();

            pointer.Value        = 70;
            pointer.Thickness    = 5;
            pointer.KnobRadius   = 20;
            pointer.LengthFactor = 1;
            pointer.Color        = Color.FromRgb(226, 226, 226);
            pointer.KnobColor    = Color.FromHex("#FFE2E2E2");
            RangePointer rPointer = new RangePointer();

            rPointer.Value = 70;
            if (Device.RuntimePlatform == Device.UWP)
            {
                rPointer.Offset = 1;
            }
            rPointer.Color     = Color.FromHex("#FF00B2DB");
            rPointer.Thickness = 40;
            ObservableCollection <Pointer> pointers = new ObservableCollection <Pointer>();

            pointers.Add(pointer);
            pointers.Add(rPointer);
            scale.Pointers   = pointers;
            scale.ShowTicks  = false;
            scale.ShowLabels = false;
            Scales.Add(scale);
            circularGauge.Scales = Scales;


            series.ItemsSource = getData();
        }
 private void CheckForProgress(Label label, RangePointer rangePointer, Label label1, int progress, bool flag = false)
 {
     if (progress > 0)
     {
         label.TextColor = Color.Green;
         if (!flag)
         {
             label.Text = "+" + $"{progress}" + " Молодець!";
         }
         else
         {
             label.Text = "+" + $"{progress}s" + " Молодець!";
         }
         rangePointer.Color = Color.Green;
         label1.TextColor   = Color.Green;
     }
     if (progress == 0)
     {
         label.TextColor = Color.White;
         if (!flag)
         {
             label.Text = $"{progress}" + " Непогано.";
         }
         else
         {
             label.Text = $"{progress}s" + " Непогано.";
         }
         rangePointer.Color = Color.FromHex("#205be6");
         label1.TextColor   = Color.FromHex("#205be6");
     }
     if (progress < 0)
     {
         label.TextColor = Color.Red;
         if (!flag)
         {
             label.Text = $"{progress}s" + " Можна краще!";
         }
         else
         {
             label.Text = label.Text = $"{progress}s" + " Можна краще!";
         }
         rangePointer.Color = Color.Red;
         label1.TextColor   = Color.Red;
     }
 }
        public MemoryView()
        {
            InitializeComponent();

            if (Device.OS == TargetPlatform.iOS)
            {
                this.circularGauge.HeightRequest = 200;
            }
            else
            {
                circularGauge.VerticalOptions = LayoutOptions.FillAndExpand;
            }

            ObservableCollection<Scale> Scales = new ObservableCollection<Scale>();
            Scale scale = new Scale();
            scale.StartValue = 0;
            scale.EndValue = 100;
            scale.StartAngle = 180;
            scale.SweepAngle = 180;
            scale.RimThickness = 40;
            scale.RimColor = Color.FromRgb(86, 86, 86);
            NeedlePointer pointer = new NeedlePointer();
            pointer.Value = 70;
            pointer.Thickness = 5;
            pointer.KnobRadius = 20;
            pointer.LengthFactor = Device.OnPlatform(1, 1.12, 1);
            pointer.Color = Color.FromRgb(226, 226, 226);
            pointer.KnobColor = Color.FromHex("#FFE2E2E2");
            RangePointer rPointer = new RangePointer();
            rPointer.Value = 70;
            rPointer.Color = Color.FromHex("#FF00B2DB");
            rPointer.Thickness = 40;
            List<Pointer> pointers = new List<Pointer>();
            pointers.Add(pointer);
            pointers.Add(rPointer);
            scale.Pointers = pointers;
            scale.ShowTicks = false;
            scale.ShowLabels = false;
            Scales.Add(scale);
            circularGauge.Scales = Scales;
            circularGauge.GaugeType = GaugeType.North;

            series.ItemsSource = getData();
            Chart.HeightRequest = Device.OnPlatform(150, 200, 250);
        }
Example #6
0
        /// <summary>
        /// Update the diagrammatic layout based on the session data
        /// </summary>
        private void UpdateGauge()
        {
            Scale.Pointers.Clear();
            var    ranges     = new ObservableCollection <Pointer>();
            double rangeStart = 0;

            var items        = SfListView.ItemsSource as ObservableCollection <Calorie>;
            var proteinRange = new RangePointer();

            for (int i = 0; i < items.Count; i++)
            {
                RangePointer range = new RangePointer()
                {
                    RangeStart      = rangeStart,
                    Value           = rangeStart + items[i].Quantity,
                    Offset          = 0.9,
                    Thickness       = 12,
                    EnableAnimation = false,
                    Color           = Color.FromHex(items[i].Indicator)
                };

                if (items[i].Nutrient == "Protein")
                {
                    range.Offset      = 0.93;
                    range.Thickness   = 18;
                    range.RangeStart -= 3;
                    range.Value      += 3;
                    range.RangeCap    = RangeCap.Both;
                    proteinRange      = range;
                }
                else
                {
                    ranges.Add(range);
                }

                rangeStart += items[i].Quantity;
            }

            Scale.EndValue = rangeStart;
            Scale.Pointers = ranges;
            Scale.Pointers.Add(proteinRange);
        }
Example #7
0
        /// <summary>
        /// Update the gauge range.
        /// </summary>
        private void UpdateGauge()
        {
            this.Pointers.Clear();
            var    ranges     = new ObservableCollection <Pointer>();
            double rangeStart = 0;

            // var items = selectedCalorieItems;
            var proteinRange = new RangePointer();

            for (int i = 0; i < this.SelectedCalorieItems.Count; i++)
            {
                RangePointer range = new RangePointer()
                {
                    RangeStart      = rangeStart,
                    Value           = rangeStart + this.SelectedCalorieItems[i].Quantity,
                    Offset          = 0.9,
                    Thickness       = 12,
                    EnableAnimation = false,
                    Color           = Color.FromHex(this.SelectedCalorieItems[i].Indicator),
                };

                if (this.SelectedCalorieItems[i].Nutrient == "Protein")
                {
                    range.Offset      = 0.93;
                    range.Thickness   = 18;
                    range.RangeStart -= 3;
                    range.Value      += 3;
                    range.RangeCap    = RangeCap.Both;
                    proteinRange      = range;
                }
                else
                {
                    ranges.Add(range);
                }

                rangeStart += this.SelectedCalorieItems[i].Quantity;
            }

            this.ScaleEndValue = rangeStart;
            this.Pointers      = ranges;
            this.Pointers.Add(proteinRange);
        }
Example #8
0
        public override View GetSampleContent(Context con)
        {
            SfCircularGauge sfCircularGauge = new SfCircularGauge(con);

            ObservableCollection <Header> headers = new ObservableCollection <Header>();
            Header header = new Header();

            header.Text      = "Inverted Traingle";
            header.TextSize  = 18;
            header.TextColor = Color.Black;
            header.Position  = new PointF((float)0.5, (float)0.6);
            headers.Add(header);
            sfCircularGauge.Headers = headers;

            ObservableCollection <CircularScale> circularScales = new ObservableCollection <CircularScale>();
            CircularScale scale = new CircularScale();

            scale.StartAngle            = 180;
            scale.SweepAngle            = 180;
            scale.ScaleStartOffset      = 0.7;
            scale.ScaleEndOffset        = 0.68;
            scale.StartValue            = 0;
            scale.EndValue              = 100;
            scale.RimColor              = Color.Gray;
            scale.Interval              = 50;
            scale.ShowLabels            = false;
            scale.ShowTicks             = false;
            scale.MinorTicksPerInterval = 0;

            ObservableCollection <CircularPointer> pointers = new ObservableCollection <CircularPointer>();
            MarkerPointer markerPointer = new MarkerPointer();

            markerPointer.Value       = 80;
            markerPointer.Color       = Color.ParseColor("#00bdae");
            markerPointer.Offset      = 0.7;
            markerPointer.MarkerShape = Com.Syncfusion.Gauges.SfCircularGauge.Enums.MarkerShape.InvertedTriangle;
            pointers.Add(markerPointer);

            scale.CircularPointers = pointers;
            circularScales.Add(scale);

            sfCircularGauge.CircularScales = circularScales;

            sfCircularGauge.SetBackgroundColor(Color.White);
            //triangle

            SfCircularGauge sfCircularGauge1 = new SfCircularGauge(con);

            ObservableCollection <Header> headers1 = new ObservableCollection <Header>();
            Header header1 = new Header();

            header1.Text      = "Traingle";
            header1.TextSize  = 18;
            header1.TextColor = Color.Black;
            header1.Position  = new PointF((float)0.5, (float)0.6);
            headers1.Add(header1);
            sfCircularGauge1.Headers = headers1;

            ObservableCollection <CircularScale> circularScales1 = new ObservableCollection <CircularScale>();
            CircularScale scale1 = new CircularScale();

            scale1.StartAngle            = 180;
            scale1.SweepAngle            = 180;
            scale1.ScaleStartOffset      = 0.7;
            scale1.ScaleEndOffset        = 0.68;
            scale1.StartValue            = 0;
            scale1.EndValue              = 100;
            scale1.RimColor              = Color.Gray;
            scale1.Interval              = 50;
            scale1.ShowLabels            = false;
            scale1.ShowTicks             = false;
            scale1.MinorTicksPerInterval = 0;

            ObservableCollection <CircularPointer> pointers1 = new ObservableCollection <CircularPointer>();
            MarkerPointer markerPointer1 = new MarkerPointer();

            markerPointer1.Value       = 80;
            markerPointer1.Color       = Color.Green;
            markerPointer1.Offset      = 0.68;
            markerPointer1.MarkerShape = Com.Syncfusion.Gauges.SfCircularGauge.Enums.MarkerShape.Triangle;
            pointers1.Add(markerPointer1);

            scale1.CircularPointers = pointers1;
            circularScales1.Add(scale1);

            sfCircularGauge1.CircularScales = circularScales1;

            sfCircularGauge1.SetBackgroundColor(Color.White);

            //range pointer

            SfCircularGauge sfCircularGauge2 = new SfCircularGauge(con);

            ObservableCollection <Header> headers2 = new ObservableCollection <Header>();
            Header header2 = new Header();

            header2.Text      = "Range Pointer";
            header2.TextSize  = 18;
            header2.TextColor = Color.Black;
            header2.Position  = new PointF((float)0.5, (float)0.6);
            headers2.Add(header2);
            sfCircularGauge2.Headers = headers2;

            ObservableCollection <CircularScale> circularScales2 = new ObservableCollection <CircularScale>();
            CircularScale scale2 = new CircularScale();

            scale2.StartAngle            = 180;
            scale2.SweepAngle            = 180;
            scale2.StartValue            = 0;
            scale2.EndValue              = 100;
            scale2.RadiusFactor          = 0.7;
            scale2.RimColor              = Color.Gray;
            scale2.Interval              = 50;
            scale2.ShowLabels            = false;
            scale2.ShowTicks             = false;
            scale2.RimWidth              = 3;
            scale2.MinorTicksPerInterval = 0;

            ObservableCollection <CircularPointer> pointers2 = new ObservableCollection <CircularPointer>();
            RangePointer rangePointer = new RangePointer();

            rangePointer.Value           = 60;
            rangePointer.Color           = Color.ParseColor("#FF2680");
            rangePointer.Offset          = 0.6;
            rangePointer.Width           = 20;
            rangePointer.EnableAnimation = false;
            pointers2.Add(rangePointer);

            scale2.CircularPointers = pointers2;
            circularScales2.Add(scale2);

            sfCircularGauge2.CircularScales = circularScales2;

            sfCircularGauge2.SetBackgroundColor(Color.White);

            //needlepointer

            SfCircularGauge sfCircularGauge3 = new SfCircularGauge(con);

            ObservableCollection <Header> headers3 = new ObservableCollection <Header>();
            Header header3 = new Header();

            header3.Text      = "Needle Pointer";
            header3.TextSize  = 18;
            header3.TextColor = Color.Black;
            header3.Position  = new PointF((float)0.5, (float)0.6);
            headers3.Add(header3);
            sfCircularGauge3.Headers = headers3;

            ObservableCollection <CircularScale> circularScales3 = new ObservableCollection <CircularScale>();
            CircularScale scale3 = new CircularScale();

            scale3.StartAngle            = 180;
            scale3.SweepAngle            = 180;
            scale3.StartValue            = 0;
            scale3.EndValue              = 100;
            scale3.RadiusFactor          = 0.7;
            scale3.RimColor              = Color.Gray;
            scale3.Interval              = 50;
            scale3.ShowLabels            = false;
            scale3.ShowTicks             = false;
            scale3.RimWidth              = 3;
            scale3.MinorTicksPerInterval = 0;

            ObservableCollection <CircularPointer> pointers3 = new ObservableCollection <CircularPointer>();
            NeedlePointer needlePointer = new NeedlePointer();

            needlePointer.Value        = 80;
            needlePointer.Color        = Color.Purple;
            needlePointer.LengthFactor = 0.7;
            needlePointer.KnobRadius   = 0;
            needlePointer.Width        = 10;
            needlePointer.Type         = NeedleType.Triangle;
            pointers3.Add(needlePointer);

            scale3.CircularPointers = pointers3;
            circularScales3.Add(scale3);

            sfCircularGauge3.CircularScales = circularScales3;

            sfCircularGauge3.SetBackgroundColor(Color.White);

            SfCircularGauge sfCircularGauge4 = new SfCircularGauge(con);

            ObservableCollection <Header> headers4 = new ObservableCollection <Header>();
            Header header4 = new Header();

            header4.Text      = "Multiple Needle";
            header4.TextSize  = 18;
            header4.TextColor = Color.Black;
            header4.Position  = new PointF((float)0.5, (float)0.7);
            headers4.Add(header4);
            sfCircularGauge4.Headers = headers4;

            ObservableCollection <CircularScale> circularScales4 = new ObservableCollection <CircularScale>();
            CircularScale scale4 = new CircularScale();

            scale4.StartAngle            = 180;
            scale4.SweepAngle            = 180;
            scale4.StartValue            = 0;
            scale4.EndValue              = 100;
            scale4.RadiusFactor          = 0.7;
            scale4.RimColor              = Color.Gray;
            scale4.Interval              = 50;
            scale4.ShowLabels            = false;
            scale4.ShowTicks             = false;
            scale4.RimWidth              = 3;
            scale4.MinorTicksPerInterval = 0;

            ObservableCollection <CircularPointer> pointers4 = new ObservableCollection <CircularPointer>();
            NeedlePointer needlePointer1 = new NeedlePointer();

            needlePointer1.Value            = 40;
            needlePointer1.Color            = Color.ParseColor("#ed7d31");
            needlePointer1.LengthFactor     = 0.5;
            needlePointer1.KnobRadiusFactor = 0.05;
            needlePointer1.KnobColor        = Color.White;
            needlePointer1.Width            = 10;
            needlePointer1.Type             = NeedleType.Triangle;
            needlePointer1.TailStrokeColor  = Color.ParseColor("#ed7d31");
            needlePointer1.KnobStrokeWidth  = 2;
            needlePointer1.KnobStrokeColor  = Color.ParseColor("#ed7d31");
            pointers4.Add(needlePointer1);

            NeedlePointer needlePointer2 = new NeedlePointer();

            needlePointer2.Value            = 70;
            needlePointer2.Color            = Color.ParseColor("#ed7d31");
            needlePointer2.LengthFactor     = 0.6;
            needlePointer2.KnobRadiusFactor = 0.05;
            needlePointer2.KnobColor        = Color.White;
            needlePointer2.Width            = 10;
            needlePointer2.Type             = NeedleType.Triangle;
            needlePointer2.TailStrokeColor  = Color.ParseColor("#ed7d31");
            needlePointer2.KnobStrokeWidth  = 2;
            needlePointer2.KnobStrokeColor  = Color.ParseColor("#ed7d31");
            pointers4.Add(needlePointer2);

            scale4.CircularPointers = pointers4;
            circularScales4.Add(scale4);

            sfCircularGauge4.CircularScales = circularScales4;

            sfCircularGauge4.SetBackgroundColor(Color.White);

            LinearLayout linearLayout = new LinearLayout(con);

            linearLayout.Orientation      = Orientation.Vertical;
            linearLayout.LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);
            linearLayout.AddView(sfCircularGauge, LayoutParams.WrapContent, (int)(250 * con.Resources.DisplayMetrics.Density));
            linearLayout.AddView(sfCircularGauge1, LayoutParams.WrapContent, (int)(250 * con.Resources.DisplayMetrics.Density));
            linearLayout.AddView(sfCircularGauge2, LayoutParams.WrapContent, (int)(250 * con.Resources.DisplayMetrics.Density));
            linearLayout.AddView(sfCircularGauge3, LayoutParams.WrapContent, (int)(250 * con.Resources.DisplayMetrics.Density));
            linearLayout.AddView(sfCircularGauge4, LayoutParams.WrapContent, (int)(250 * con.Resources.DisplayMetrics.Density));

            linearLayout.SetPadding(30, 30, 30, 30);
            ScrollView mainView = new ScrollView(con);

            mainView.AddView(linearLayout);
            return(mainView);
        }
        SfCircularGauge getCircularGauge()
        {
            if (this.ContentView == null)
            {
                circularGauge = new SfCircularGauge();
                ObservableCollection<Scale> scales = new ObservableCollection<Scale>();
                circularGauge.VerticalOptions = LayoutOptions.CenterAndExpand;
                //Scales
                scale = new Scale();
                scale.StartValue = 0;
                scale.EndValue = 100;
                scale.Interval = 10;
                scale.StartAngle = 135;
                scale.SweepAngle = 270;
                scale.RimThickness = 20;
                scale.RimColor = Color.FromHex("#d14646");
                scale.LabelColor = Color.Gray;
                scale.LabelOffset = 0.1;
                scale.MinorTicksPerInterval = 0;
                List<Pointer> pointers = new List<Pointer>();

                needlePointer = new NeedlePointer();
                needlePointer.Value = 60;
                needlePointer.Color = Color.Gray;
                needlePointer.KnobRadius = 20;
                needlePointer.KnobColor = Color.FromHex("#2bbfb8");
                needlePointer.Thickness = 5;
                needlePointer.LengthFactor = 0.8;
                needlePointer.Type = PointerType.Bar;

                rangePointer = new RangePointer();
                rangePointer.Value = 60;
                rangePointer.Color = Color.FromHex("#2bbfb8");
                rangePointer.Thickness = 20;
                pointers.Add(needlePointer);
                pointers.Add(rangePointer);

                TickSettings minor = new TickSettings();
                minor.Length = 4;
                minor.Color = Color.FromHex("#444444");
                minor.Thickness = 3;
                scale.MinorTickSettings = minor;

                major = new TickSettings();
                major.Length = 12;
                major.Color = Color.FromHex("#444444");
                major.Thickness = 3;
                major.Offset = Device.OnPlatform(0.05, 0.1,0.3);
                scale.MajorTickSettings = major;
                scale.Pointers = pointers;
                scales.Add(scale);
                circularGauge.Scales = scales;

                Header header = new Header();
                header.Text = "Speedmeter";
                header.TextSize = 20;
                header.Position = Device.OnPlatform(iOS: new Point(.3, .7), Android: new Point(0.38, 0.7), WinPhone: new Point(0.38, 0.7));
                header.ForegroundColor = Color.Gray;
                circularGauge.Headers.Add(header);
            }
            return circularGauge;
        }
        public override View GetSampleContent(Context con)
        {
            DisplayMetrics displayMetrics = con.Resources.DisplayMetrics;
            float          screenHeight   = displayMetrics.HeightPixels;

            SfCircularGauge sfCircularGauge = new SfCircularGauge(con);

            ObservableCollection <Header> headers = new ObservableCollection <Header>();

            header           = new Header();
            header.Text      = Math.Round((double)800, 2) + " GB";
            header.TextSize  = 24;
            header.TextColor = Color.Black;
            header.Position  = new PointF((float)0.5, (float)0.1);
            headers.Add(header);
            sfCircularGauge.Headers = headers;

            ObservableCollection <CircularScale> circularScales = new ObservableCollection <CircularScale>();
            CircularScale scale = new CircularScale();

            scale.StartAngle            = 210;
            scale.SweepAngle            = 120;
            scale.StartValue            = 0;
            scale.EndValue              = 1000;
            scale.Interval              = 500;
            scale.ShowLabels            = false;
            scale.ShowTicks             = false;
            scale.ShowRim               = false;
            scale.MinorTicksPerInterval = 0;

            ObservableCollection <CircularRange> ranges = new ObservableCollection <CircularRange>();

            circularRange            = new CircularRange();
            circularRange.StartValue = 0;
            circularRange.EndValue   = 1000;
            circularRange.Color      = Color.ParseColor("#E0E0E0");
            circularRange.Offset     = 0.7;
            circularRange.Width      = 30;
            ranges.Add(circularRange);
            scale.CircularRanges = ranges;

            ObservableCollection <CircularPointer> pointers = new ObservableCollection <CircularPointer>();

            rangePointer                 = new RangePointer();
            rangePointer.Value           = 800;
            rangePointer.Color           = Color.ParseColor("#FFDD00");
            rangePointer.Width           = 30;
            rangePointer.Offset          = 0.7;
            rangePointer.EnableAnimation = false;
            pointers.Add(rangePointer);

            needlePointer                  = new NeedlePointer();
            needlePointer.Value            = 800;
            needlePointer.Color            = Color.ParseColor("#424242");
            needlePointer.Type             = Com.Syncfusion.Gauges.SfCircularGauge.Enums.NeedleType.Triangle;
            needlePointer.LengthFactor     = 0.7;
            needlePointer.Width            = 10;
            needlePointer.KnobRadiusFactor = 0.1;
            needlePointer.KnobColor        = Color.ParseColor("#424242");
            pointers.Add(needlePointer);

            scale.CircularPointers = pointers;
            circularScales.Add(scale);
            sfCircularGauge.CircularScales = circularScales;

            sfCircularGauge.SetBackgroundColor(Color.White);

            SfCircularGauge circularGauge = new SfCircularGauge(con);

            ObservableCollection <Header> headers1 = new ObservableCollection <Header>();

            header1           = new Header();
            header1.Text      = Math.Round((double)800, 2) + " GB";
            header1.TextSize  = 24;
            header1.TextColor = Color.Black;
            header1.Position  = new PointF((float)0.5, (float)0.5);
            headers1.Add(header1);

            Header header2 = new Header();

            header2.Text      = "Used";
            header2.TextSize  = 18;
            header2.TextColor = Color.Gray;
            header2.Position  = new PointF((float)0.5, (float)0.6);
            headers1.Add(header2);

            circularGauge.Headers = headers1;

            ObservableCollection <CircularScale> circularScales1 = new ObservableCollection <CircularScale>();
            CircularScale scale1 = new CircularScale();

            scale1.StartAngle            = 90;
            scale1.SweepAngle            = 360;
            scale1.StartValue            = 0;
            scale1.EndValue              = 1000;
            scale1.Interval              = 500;
            scale1.ShowLabels            = false;
            scale1.ShowTicks             = false;
            scale1.ShowRim               = false;
            scale1.MinorTicksPerInterval = 0;

            ObservableCollection <CircularRange> ranges1 = new ObservableCollection <CircularRange>();

            circularRange1            = new CircularRange();
            circularRange1.StartValue = 0;
            circularRange1.EndValue   = 999.9;
            circularRange1.Color      = Color.ParseColor("#E0E0E0");
            circularRange1.Offset     = 0.8;
            circularRange1.Width      = 30;
            ranges1.Add(circularRange1);
            scale1.CircularRanges = ranges1;

            ObservableCollection <CircularPointer> pointers1 = new ObservableCollection <CircularPointer>();

            rangePointer1                 = new RangePointer();
            rangePointer1.Value           = 800;
            rangePointer1.Color           = Color.ParseColor("#FFDD00");
            rangePointer1.Width           = 30;
            rangePointer1.Offset          = 0.8;
            rangePointer1.EnableAnimation = false;
            pointers1.Add(rangePointer1);

            scale1.CircularPointers = pointers1;

            circularScales1.Add(scale1);
            circularGauge.CircularScales = circularScales1;

            circularGauge.SetBackgroundColor(Color.White);

            LinearLayout outerLinearLayout = (LinearLayout)sfCircularGauge.FindViewById(Resource.Id.linearLayout);

            LinearLayout linearLayout = new LinearLayout(con);

            linearLayout.Orientation      = Orientation.Vertical;
            linearLayout.LayoutParameters = new LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent);
            linearLayout.AddView(sfCircularGauge, LayoutParams.WrapContent, (int)(screenHeight / 2.7));
            linearLayout.AddView(circularGauge, LayoutParams.WrapContent, (int)(screenHeight / 2.7));
            linearLayout.SetBackgroundColor(Color.White);
            linearLayout.SetPadding(30, 30, 30, 30);
            ScrollView mainView = new ScrollView(con);

            mainView.AddView(linearLayout);


            return(mainView);
        }
        public override View GetSampleContent (Context con)
		{
            circularGauge = new SfCircularGauge(con);

            ObservableCollection<CircularScale> _circularScales = new ObservableCollection<CircularScale>();
            ObservableCollection<CircularPointer> _circularPointers = new ObservableCollection<CircularPointer>();
            ObservableCollection<Header> _gaugeHeaders = new ObservableCollection<Header>();
            // adding  new CircularScale
            circularScale = new CircularScale();
            circularScale.StartValue = 0;
            circularScale.EndValue = 100;
            circularScale.StartAngle = 130;
            circularScale.SweepAngle = 280;
            circularScale.RimWidth = 10;
            circularScale.RimColor = Color.ParseColor("#D14646");
            circularScale.MinorTicksPerInterval = 0;
            circularScale.LabelOffset = labelsOffset;
            circularScale.LabelTextSize = 18;

            //adding major ticks
            majorTickstings = new TickSetting();
            majorTickstings.Color = Color.ParseColor("#444444");
            majorTickstings.Size = 15;
            majorTickstings.Offset = ticksOffset;
            circularScale.MajorTickSettings = majorTickstings;

            //adding minor ticks
            TickSetting minorTickstings = new TickSetting();
            minorTickstings.Color = Color.Gray;
            circularScale.MinorTickSettings = minorTickstings;

            // adding needle Pointer
            needlePointer = new NeedlePointer();
            needlePointer.Value = pointerValue;
            needlePointer.KnobColor = Color.ParseColor("#2BBFB8");
            needlePointer.KnobRadius = 20;
            needlePointer.Type = NeedleType.Bar;
            needlePointer.LengthFactor = 0.8;
            needlePointer.Width = 3;
            needlePointer.Color = Color.Gray;
            _circularPointers.Add(needlePointer);

            // adding range Pointer
            rangePointer = new RangePointer();
            rangePointer.Value = pointerValue;
            rangePointer.Color = Color.ParseColor("#2BBFB8");
            rangePointer.Width = 10;
            _circularPointers.Add(rangePointer);

            circularScale.CircularPointers = _circularPointers;
            _circularScales.Add(circularScale);

            //adding header
            Header circularGaugeHeader = new Header();
            circularGaugeHeader.Text = "Speedometer";
            circularGaugeHeader.TextColor = Color.Gray;
            circularGaugeHeader.Position = new PointF((float)0.38, (float)0.7);
            circularGaugeHeader.TextSize = 20;
            _gaugeHeaders.Add(circularGaugeHeader);
            circularGauge.Headers = _gaugeHeaders;
            circularGauge.CircularScales = _circularScales;
            circularGauge.SetBackgroundColor(Color.White);

            LinearLayout linearLayout = new LinearLayout(con);
            linearLayout.AddView(circularGauge);
            linearLayout.SetPadding(30, 30, 30, 30);
            linearLayout.SetBackgroundColor(Color.White);
            return linearLayout;
		}
        public override View GetSampleContent(Context con)
        {
            circularGauge = new SfCircularGauge(con);

            ObservableCollection <CircularScale>   _circularScales   = new ObservableCollection <CircularScale>();
            ObservableCollection <CircularPointer> _circularPointers = new ObservableCollection <CircularPointer>();
            ObservableCollection <Header>          _gaugeHeaders     = new ObservableCollection <Header>();

            // adding  new CircularScale
            circularScale                       = new CircularScale();
            circularScale.StartValue            = 0;
            circularScale.EndValue              = 100;
            circularScale.StartAngle            = 130;
            circularScale.SweepAngle            = 280;
            circularScale.RimWidth              = 10;
            circularScale.RimColor              = Color.ParseColor("#D14646");
            circularScale.MinorTicksPerInterval = 0;
            circularScale.LabelOffset           = labelsOffset;
            circularScale.LabelTextSize         = 18;

            //adding major ticks
            majorTickstings                 = new TickSetting();
            majorTickstings.Color           = Color.ParseColor("#444444");
            majorTickstings.Size            = 15;
            majorTickstings.Offset          = ticksOffset;
            circularScale.MajorTickSettings = majorTickstings;

            //adding minor ticks
            TickSetting minorTickstings = new TickSetting();

            minorTickstings.Color           = Color.Gray;
            circularScale.MinorTickSettings = minorTickstings;

            // adding needle Pointer
            needlePointer              = new NeedlePointer();
            needlePointer.Value        = pointerValue;
            needlePointer.KnobColor    = Color.ParseColor("#2BBFB8");
            needlePointer.KnobRadius   = 20;
            needlePointer.Type         = NeedleType.Bar;
            needlePointer.LengthFactor = 0.8;
            needlePointer.Width        = 3;
            needlePointer.Color        = Color.Gray;
            _circularPointers.Add(needlePointer);

            // adding range Pointer
            rangePointer       = new RangePointer();
            rangePointer.Value = pointerValue;
            rangePointer.Color = Color.ParseColor("#2BBFB8");
            rangePointer.Width = 10;
            _circularPointers.Add(rangePointer);

            circularScale.CircularPointers = _circularPointers;
            _circularScales.Add(circularScale);

            //adding header
            Header circularGaugeHeader = new Header();

            circularGaugeHeader.Text      = "Speedometer";
            circularGaugeHeader.TextColor = Color.Gray;
            circularGaugeHeader.Position  = new PointF((float)0.38, (float)0.7);
            circularGaugeHeader.TextSize  = 20;
            _gaugeHeaders.Add(circularGaugeHeader);
            circularGauge.Headers        = _gaugeHeaders;
            circularGauge.CircularScales = _circularScales;
            circularGauge.SetBackgroundColor(Color.White);

            LinearLayout linearLayout = new LinearLayout(con);

            linearLayout.AddView(circularGauge);
            linearLayout.SetPadding(30, 30, 30, 30);
            linearLayout.SetBackgroundColor(Color.White);
            return(linearLayout);
        }
Example #13
0
        SfCircularGauge getCircularGauge()
        {
            if (this.ContentView == null)
            {
                circularGauge = new SfCircularGauge();
                ObservableCollection <Scale> scales = new ObservableCollection <Scale>();
                circularGauge.VerticalOptions = LayoutOptions.CenterAndExpand;
                //Scales
                scale                       = new Scale();
                scale.StartValue            = 0;
                scale.EndValue              = 100;
                scale.Interval              = 10;
                scale.StartAngle            = 135;
                scale.SweepAngle            = 270;
                scale.RimThickness          = 20;
                scale.RimColor              = Color.FromHex("#d14646");
                scale.LabelColor            = Color.Gray;
                scale.LabelOffset           = 0.1;
                scale.MinorTicksPerInterval = 0;
                List <Pointer> pointers = new List <Pointer>();

                needlePointer              = new NeedlePointer();
                needlePointer.Value        = 60;
                needlePointer.Color        = Color.Gray;
                needlePointer.KnobRadius   = 20;
                needlePointer.KnobColor    = Color.FromHex("#2bbfb8");
                needlePointer.Thickness    = 5;
                needlePointer.LengthFactor = 0.8;
                needlePointer.Type         = PointerType.Bar;

                rangePointer           = new RangePointer();
                rangePointer.Value     = 60;
                rangePointer.Color     = Color.FromHex("#2bbfb8");
                rangePointer.Thickness = 20;
                pointers.Add(needlePointer);
                pointers.Add(rangePointer);

                TickSettings minor = new TickSettings();
                minor.Length            = 4;
                minor.Color             = Color.FromHex("#444444");
                minor.Thickness         = 3;
                scale.MinorTickSettings = minor;

                major                   = new TickSettings();
                major.Length            = 12;
                major.Color             = Color.FromHex("#444444");
                major.Thickness         = 3;
                major.Offset            = Device.OnPlatform(0.05, 0.1, 0.3);
                scale.MajorTickSettings = major;
                scale.Pointers          = pointers;
                scales.Add(scale);
                circularGauge.Scales = scales;

                Header header = new Header();
                header.Text            = "Speedmeter";
                header.TextSize        = 20;
                header.Position        = Device.OnPlatform(iOS: new Point(.3, .7), Android: new Point(0.38, 0.7), WinPhone: new Point(0.38, 0.7));
                header.ForegroundColor = Color.Gray;
                circularGauge.Headers.Add(header);
            }
            return(circularGauge);
        }