Home > Mobile >  How can I build slanted dashed line in Xamarin application
How can I build slanted dashed line in Xamarin application

Time:03-29

I want to display a slanted dashed line in my application that would look something like this. using Line API in xamarin I was able to create dashed line, but I haven't had any luck with making each dash slanted. I also looked at skiasharp library for Xamarin but didn't find anything which can help with slanting.

CodePudding user response:

@jason thank you for your response, I was so much focused on getting "Slanted dashed line" what you suggested never crossed my mind. Although now I have the solution for my issue.

public partial class SlantedDashedView : ContentView
{
    private readonly SKPaint paint = new SKPaint
    {
        Style = SKPaintStyle.Fill,
        Color = Color.Red.ToSKColor()
    };

    private readonly SKRect rect = new SKRect
    {
        Location = new SKPoint(0, 0),
        Size = new SKSize(25, 30)
    };

    public SlantedDashedView()
    {
        InitializeComponent();
        mainCanvas.InvalidateSurface();
    }

    private void MainCanvas_PaintSurface(object sender, SKPaintSurfaceEventArgs e)
    {
        SKImageInfo info = e.Info;
        SKSurface surface = e.Surface;
        SKCanvas canvas = surface.Canvas;

        int currentY = 0;
        canvas.Skew(0, -1);
        while (currentY < info.Height)
        {
            canvas.DrawRect(rect, paint);
            currentY  = 45;
            canvas.Translate(0, 45);
        }
    }
}

Here is the result

  • Related