Git Product home page Git Product logo

shapecontrol.forms's Introduction

ShapeControl.Forms

Xamarin.Forms plugin to draw shapes such as circle, rounded rectangle, oval and so on.

Supports Android, iOS and Unified Windows Platform (UWP, UAP).

NuGet

Features

  • Circle
  • Oval
  • RoundedRect
  • Borderless Entry (SSEntry)
  • Borderless Editor (SSEditor)
  • Borderless Picker (SSPicker)
  • Borderless DatePicker (SSDatePicker)
  • Effects by using SkiaSharp library.

Support Platforms

  • iOS 8+
  • Android
  • Universal Windows Platform (Win10/UWP)

Setup

Install the nuget package in portable and all platform specific projects..

Android

In MainActivity.cs file

	Stormlion.ShapeControl.Droid.Platform.Init(this);

iOS

In AppDelegate.cs file

	Stormlion.ShapeControl.iOS.Platform.Init();

UWP

In App.xaml.cs file

	List<Assembly> assebliesToInclude = new List<Assembly>();

	assebliesToInclude.Add(typeof(Stormlion.ShapeControl.UWP.Platform).GetTypeInfo().Assembly);

	Xamarin.Forms.Forms.Init(e, assebliesToInclude);

Usage

Circle Example

    <shapes:Circle>
        <shapes:Circle.Paint>
            <shapes:SSPaint BorderWidth="1" 
                            BorderColor="Red"
                            FillColor="Yellow"
                            />
        </shapes:Circle.Paint>
    </shapes:Circle>

Oval with Blue Solid Color

    <shapes:Oval>
        <shapes:Oval.Paint>
            <shapes:SSPaint FillColor="Blue"
                            />
        </shapes:Oval.Paint>
    </shapes:Oval>

RoundRect with Gridient Color

    <shapes:RoundRect RadiusX="30"
                      RadiusY="30"
                      >
        <shapes:RoundRect.Paint>
            <shapes:SSPaint BorderWidth="10"
                            FillColor="Transparent"
                            >
                <shapes:SSPaint.BorderShader>
                    <skiaSharp:SKShader x:FactoryMethod="CreateLinearGradient"
                                        >
                        <x:Arguments>
                            <skiaSharp:SKPoint>
                                <x:Arguments>
                                    <x:Single>0</x:Single>
                                    <x:Single>0</x:Single>
                                </x:Arguments>
                            </skiaSharp:SKPoint>
                            <skiaSharp:SKPoint>
                                <x:Arguments>
                                    <x:Single>255</x:Single>
                                    <x:Single>0</x:Single>
                                </x:Arguments>
                            </skiaSharp:SKPoint>
                            <x:Array Type="{x:Type skiaSharp:SKColor}">
                                <shapes:SKColorMarkup Value="Blue" />
                                <shapes:SKColorMarkup Value="Red" />
                            </x:Array>
                            <x:Array Type="{x:Type x:Single}">
                                <x:Single>0</x:Single>
                                <x:Single>1</x:Single>
                            </x:Array>
                            <skiaSharp:SKShaderTileMode>
                                Clamp
                            </skiaSharp:SKShaderTileMode>
                        </x:Arguments>
                    </skiaSharp:SKShader>                                
                </shapes:SSPaint.BorderShader>
            </shapes:SSPaint>
        </shapes:RoundRect.Paint>
    </shapes:RoundRect>

Borderless Entry

	<shapes:SSEntry Text="No Border Entry" />

Contributions

Contributions are welcome!

shapecontrol.forms's People

Contributors

stormlion227 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

shapecontrol.forms's Issues

No property, bindable property, or event found for 'BorderColor'

I am using the latest version of Xamarin Forms, and all Nuget packages and I am building for Android Oreo 8.x When I add the following XAML I get errors for both BorderColor and FillColor indicating that neither is a bindable property:

XAML
<shapes:Circle> <shapes:Circle.Paint> <shapes:SSPaint BorderColor="Blue" FillColor="Red" BorderWidth="1" /> </shapes:Circle.Paint> </shapes:Circle>

Error Message
Severity Code Description Project File Line Suppression State Error Position 196:53. No property, bindable property, or event found for 'BorderColor', or mismatching type between value and property. PlanitUX.Client.Forms C:\Dev\PlanitUX\PlanitUX\PlanitUX.Client.Forms\Views\TestPage.xaml 196

I have downloaded the project source code and successfully run the Android test app using these properties. However, Nuget Manager reports 24 packages that are out of date. Running Nuget Update does not complete and fails with the following message:

Severity Code Description Project File Line Suppression State Error Could not install package 'Xamarin.Android.Support.Animated.Vector.Drawable 27.0.2.1'. You are trying to install this package into a project that targets 'MonoAndroid,Version=v8.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

Any ideas?

Michael

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.