當前位置: 首頁>>代碼示例>>C#>>正文


C# Android.DrawArc方法代碼示例

本文整理匯總了C#中Android.DrawArc方法的典型用法代碼示例。如果您正苦於以下問題:C# Android.DrawArc方法的具體用法?C# Android.DrawArc怎麽用?C# Android.DrawArc使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Android的用法示例。


在下文中一共展示了Android.DrawArc方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Draw

        public override void Draw(Android.Graphics.Canvas canvas)
        {
            base.Draw (canvas);

            Paint mBgPaints = new Paint ();
            mBgPaints.AntiAlias = true;
            mBgPaints.SetStyle (Paint.Style.Fill);
            mBgPaints.Color = Color.Blue;
            mBgPaints.StrokeWidth = 0.5f;

            Paint tPaint = new Paint ();
            tPaint.Alpha = 0;
            canvas.DrawColor (tPaint.Color);

            RectF mOvals = new RectF (40, 40, layout.MeasuredWidth - 40, layout.MeasuredHeight - 40);

            decimal total = 0;
            foreach (SecuritiesViewModel.PieChartValue value in securitiesViewModel.DataForPieChart ()) {
                total += value.amount;
            }

            if (total == 0) {
                return;
            }

            decimal degressPerAmount = 360 / total;
            decimal currentAngle = 0;
            foreach (SecuritiesViewModel.PieChartValue value in securitiesViewModel.DataForPieChart ()) {
                canvas.DrawArc (mOvals, (float)currentAngle, (float)(degressPerAmount * value.amount), true, mBgPaints);
                currentAngle += (degressPerAmount * value.amount);
                mBgPaints.SetARGB (255, new Random ().Next (256), new Random ().Next (256), new Random ().Next (256));
            }
        }
開發者ID:sadiq81,項目名稱:Pengeplan_Xamarin,代碼行數:33,代碼來源:PieView.cs

示例2: OnDraw

        protected override void OnDraw(Android.Graphics.Canvas canvas)
        {
            var radius = (Height / 2) - 4;
            var middleX = Width / 2;
            var middleY = Height / 2;

            var minutes = (int)time.TotalMinutes;
            var rotation = minutes / 60;
            var color = baseQuadrantColor;

            for (int i = 0; i <= rotation; i++) {
                var angle = minutes > 60 ? 360 : (int)((minutes * 360f) / 60);

                canvas.DrawArc (new RectF (middleX - radius, middleY - radius, middleX + radius, middleY + radius), -90, angle, true, new Paint {
                    Color = color,
                    AntiAlias = true,
                });

                minutes -= 60;
                color = Color.Rgb ((byte)Math.Max (0, color.R - 30),
                                   (byte)Math.Max (0, color.G - 30),
                                   (byte)Math.Max (0, color.B - 30));
            }

            // Draw chrome
            Paint chromeBorder = new Paint {
                AntiAlias = true,
                Color = chromeColor,
                StrokeWidth = 1.ToPixels ()
            };
            chromeBorder.SetStyle (Paint.Style.Stroke);
            canvas.DrawCircle (middleX, middleY, radius, chromeBorder);

            // Draw markers
            var markerPaint = new Paint {
                Color = chromeColor,
                AntiAlias = true
            };
            var innerRadius = radius - 6;
            for (int i = 0; i < 8; i++) {
                var stepAngle = i * Math.PI / 4;
                canvas.DrawCircle (middleX - (int)Math.Round (Math.Sin (stepAngle) * innerRadius),
                                   middleY - (int)Math.Round (Math.Cos (stepAngle) * innerRadius),
                                   1, markerPaint);
            }
        }
開發者ID:SpiderMaster,項目名稱:BikeNow,代碼行數:46,代碼來源:ChronometerView.cs


注:本文中的Android.DrawArc方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。