├── Screenshots ├── iOS.png ├── Android.png ├── Screenshots.png ├── Screenshots.xcf ├── iphonexspacegrey_portrait.png └── Screenshot_1513181634_nexus5x-portrait.png ├── Examples ├── iOS │ ├── Assets.xcassets │ │ ├── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Entitlements.plist │ ├── packages.config │ ├── Main.cs │ ├── AppDelegate.cs │ ├── LaunchScreen.storyboard │ ├── Info.plist │ └── GradientBoxViewExample.iOS.csproj ├── Droid │ ├── Resources │ │ ├── drawable │ │ │ └── icon.png │ │ ├── drawable-hdpi │ │ │ └── icon.png │ │ ├── drawable-xhdpi │ │ │ └── icon.png │ │ ├── drawable-xxhdpi │ │ │ └── icon.png │ │ ├── layout │ │ │ ├── Toolbar.axml │ │ │ └── Tabbar.axml │ │ ├── values │ │ │ └── styles.xml │ │ └── AboutResources.txt │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ ├── Assets │ │ └── AboutAssets.txt │ ├── MainActivity.cs │ ├── packages.config │ └── GradientBoxViewExample.Droid.csproj └── GradientBoxViewExample │ ├── packages.config │ ├── GradientBoxViewExamplePage.xaml.cs │ ├── App.xaml │ ├── App.xaml.cs │ ├── GradientBoxViewExamplePage.xaml │ ├── Properties │ └── AssemblyInfo.cs │ └── GradientBoxViewExample.csproj ├── DevsDNA.GradientBoxView.iOS ├── packages.config ├── GradientBoxViewRenderer.cs ├── Properties │ └── AssemblyInfo.cs └── DevsDNA.GradientBoxView.iOS.csproj ├── DevsDNA.GradientBoxView ├── packages.config ├── Properties │ └── AssemblyInfo.cs └── DevsDNA.GradientBoxView.csproj ├── DevsDNA.GradientBoxView.Shared ├── GradientBoxView.cs ├── DevsDNA.GradientBoxView.Shared.projitems └── DevsDNA.GradientBoxView.Shared.shproj ├── .gitignore ├── DevsDNA.GradientBoxView.NuGet ├── DevsDNA.GradientBoxView.NuGet.nuget.props ├── DevsDNA.GradientBoxView.NuGet.nuget.targets └── DevsDNA.GradientBoxView.NuGet.nuproj ├── DevsDNA.GradientBoxView.Android ├── GradientBoxViewRenderer.cs ├── Properties │ └── AssemblyInfo.cs ├── packages.config └── DevsDNA.GradientBoxView.Android.csproj ├── LICENSE ├── README.md └── DevsDNA.GradientBoxView.sln /Screenshots/iOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Screenshots/iOS.png -------------------------------------------------------------------------------- /Screenshots/Android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Screenshots/Android.png -------------------------------------------------------------------------------- /Screenshots/Screenshots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Screenshots/Screenshots.png -------------------------------------------------------------------------------- /Screenshots/Screenshots.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Screenshots/Screenshots.xcf -------------------------------------------------------------------------------- /Examples/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Examples/Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Examples/Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /Screenshots/iphonexspacegrey_portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Screenshots/iphonexspacegrey_portrait.png -------------------------------------------------------------------------------- /Examples/Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Examples/Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /Examples/Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Examples/Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /Examples/Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Examples/Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /Screenshots/Screenshot_1513181634_nexus5x-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevsDNA/GradientBoxView/HEAD/Screenshots/Screenshot_1513181634_nexus5x-portrait.png -------------------------------------------------------------------------------- /Examples/iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Examples/iOS/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.iOS/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Examples/GradientBoxViewExample/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Examples/GradientBoxViewExample/GradientBoxViewExamplePage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace GradientBoxViewExample 4 | { 5 | public partial class GradientBoxViewExamplePage : ContentPage 6 | { 7 | public GradientBoxViewExamplePage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Examples/GradientBoxViewExample/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Examples/Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.Shared/GradientBoxView.cs: -------------------------------------------------------------------------------- 1 | namespace DevsDNA 2 | { 3 | using Xamarin.Forms; 4 | 5 | public class GradientBoxView : BoxView 6 | { 7 | public Color TopColor 8 | { 9 | get; 10 | set; 11 | } 12 | 13 | public Color BottomColor 14 | { 15 | get; 16 | set; 17 | } 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /Examples/Droid/Resources/layout/Toolbar.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Examples/Droid/Resources/layout/Tabbar.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Examples/iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace GradientBoxViewExample.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main(string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main(args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Autosave files 2 | *~ 3 | 4 | # build 5 | [Oo]bj/ 6 | [Bb]in/ 7 | packages/ 8 | TestResults/ 9 | 10 | # globs 11 | Makefile.in 12 | *.DS_Store 13 | *.sln.cache 14 | *.suo 15 | *.cache 16 | *.pidb 17 | *.userprefs 18 | *.usertasks 19 | config.log 20 | config.make 21 | config.status 22 | aclocal.m4 23 | install-sh 24 | autom4te.cache/ 25 | *.user 26 | *.tar.gz 27 | tarballs/ 28 | test-results/ 29 | Thumbs.db 30 | 31 | # Mac bundle stuff 32 | *.dmg 33 | *.app 34 | 35 | # resharper 36 | *_Resharper.* 37 | *.Resharper 38 | 39 | # dotCover 40 | *.dotCover 41 | 42 | \.droidres/ 43 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.NuGet/DevsDNA.GradientBoxView.NuGet.nuget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /Users/marcos/.nuget/packages/ 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.NuGet/DevsDNA.GradientBoxView.NuGet.nuget.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /Users/marcos/.nuget/packages/ 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Examples/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace GradientBoxViewExample.iOS 9 | { 10 | [Register("AppDelegate")] 11 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate 12 | { 13 | public override bool FinishedLaunching(UIApplication app, NSDictionary options) 14 | { 15 | global::Xamarin.Forms.Forms.Init(); 16 | 17 | LoadApplication(new App()); 18 | 19 | return base.FinishedLaunching(app, options); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Examples/Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with your package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.Shared/DevsDNA.GradientBoxView.Shared.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | {0A410F83-408B-491D-A9AC-54DF24B00FCB} 7 | 8 | 9 | DevsDNA.GradientBoxView 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Examples/GradientBoxViewExample/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | using Xamarin.Forms.Xaml; 3 | 4 | [assembly: XamlCompilation(XamlCompilationOptions.Compile)] 5 | namespace GradientBoxViewExample 6 | { 7 | public partial class App : Application 8 | { 9 | public App() 10 | { 11 | InitializeComponent(); 12 | 13 | MainPage = new GradientBoxViewExamplePage(); 14 | } 15 | 16 | protected override void OnStart() 17 | { 18 | // Handle when your app starts 19 | } 20 | 21 | protected override void OnSleep() 22 | { 23 | // Handle when your app sleeps 24 | } 25 | 26 | protected override void OnResume() 27 | { 28 | // Handle when your app resumes 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Examples/Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.Content; 5 | using Android.Content.PM; 6 | using Android.Runtime; 7 | using Android.Views; 8 | using Android.Widget; 9 | using Android.OS; 10 | 11 | namespace GradientBoxViewExample.Droid 12 | { 13 | [Activity(Label = "GradientBoxViewExample.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 14 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 15 | { 16 | protected override void OnCreate(Bundle bundle) 17 | { 18 | TabLayoutResource = Resource.Layout.Tabbar; 19 | ToolbarResource = Resource.Layout.Toolbar; 20 | 21 | base.OnCreate(bundle); 22 | 23 | global::Xamarin.Forms.Forms.Init(this, bundle); 24 | 25 | LoadApplication(new App()); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.iOS/GradientBoxViewRenderer.cs: -------------------------------------------------------------------------------- 1 | using DevsDNA; 2 | using DevsDNA.GradientBoxViewiOS; 3 | using Xamarin.Forms; 4 | 5 | [assembly: ExportRenderer(typeof(GradientBoxView), typeof(GradientBoxViewRenderer))] 6 | namespace DevsDNA.GradientBoxViewiOS 7 | { 8 | using CoreAnimation; 9 | using CoreGraphics; 10 | using Xamarin.Forms.Platform.iOS; 11 | 12 | public class GradientBoxViewRenderer : VisualElementRenderer 13 | { 14 | public override void Draw(CGRect rect) 15 | { 16 | base.Draw(rect); 17 | 18 | var topColor = Element.TopColor.ToCGColor(); 19 | var bottomColor = Element.BottomColor.ToCGColor(); 20 | var gradientLayer = new CAGradientLayer 21 | { 22 | Frame = rect, 23 | Colors = new CGColor[] { topColor, bottomColor } 24 | }; 25 | NativeView.Layer.InsertSublayer(gradientLayer, 0); 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.Shared/DevsDNA.GradientBoxView.Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {0A410F83-408B-491D-A9AC-54DF24B00FCB} 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Examples/GradientBoxViewExample/GradientBoxViewExamplePage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 13 | 18 | 19 | 25 | 26 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.Android/GradientBoxViewRenderer.cs: -------------------------------------------------------------------------------- 1 | using DevsDNA; 2 | using DevsDNA.GradientBoxViewAndroid; 3 | using Xamarin.Forms; 4 | 5 | [assembly: ExportRenderer(typeof(GradientBoxView), typeof(GradientBoxViewRenderer))] 6 | namespace DevsDNA.GradientBoxViewAndroid 7 | { 8 | using Android.Graphics; 9 | using Xamarin.Forms.Platform.Android; 10 | 11 | public class GradientBoxViewRenderer : VisualElementRenderer 12 | { 13 | protected override void DispatchDraw(Canvas canvas) 14 | { 15 | var gradient = new LinearGradient(0, 0, 0, Height, 16 | Element.TopColor.ToAndroid(), 17 | Element.BottomColor.ToAndroid(), 18 | Shader.TileMode.Mirror); 19 | var paint = new Paint 20 | { 21 | Dither = true, 22 | }; 23 | paint.SetShader(gradient); 24 | canvas.DrawPaint(paint); 25 | 26 | base.DispatchDraw(canvas); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 DevsDNA 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("DevsDNA.GradientBoxView")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("(c) Marcos Cobeña Morián")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("1.0.*")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("DevsDNA.GradientBoxView.iOS")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("(c) Marcos Cobeña Morián")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("1.0.0.0")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | -------------------------------------------------------------------------------- /Examples/GradientBoxViewExample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("GradientBoxViewExample")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("(c) Marcos Cobeña Morián")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("1.0.*")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.Android/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("DevsDNA.GradientBoxView.Android")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("(c) Marcos Cobeña Morián")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("1.0.0.0")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | -------------------------------------------------------------------------------- /Examples/Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using Android.App; 4 | 5 | // Information about this assembly is defined by the following attributes. 6 | // Change them to the values specific to your project. 7 | 8 | [assembly: AssemblyTitle("GradientBoxViewExample.Droid")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("(c) Marcos Cobeña Morián")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 18 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 19 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 20 | 21 | [assembly: AssemblyVersion("1.0.0")] 22 | 23 | // The following attributes are used to specify the signing key for the assembly, 24 | // if desired. See the Mono documentation for more information about signing. 25 | 26 | //[assembly: AssemblyDelaySign(false)] 27 | //[assembly: AssemblyKeyFile("")] 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GradientBoxView 2 | 3 | An empowered Xamarin.Forms' BoxView with 2-color gradients. [![NuGet](https://img.shields.io/nuget/v/DevsDNA.GradientBoxView.svg?label=NuGet)](https://www.nuget.org/packages/DevsDNA.GradientBoxView) 4 | 5 | (Inspired on [this Xamarin Forums thread](https://forums.xamarin.com/discussion/comment/240777/#Comment_240777).) 6 | 7 | ![Android & iOS](Screenshots/Screenshots.png) 8 | 9 | ## How to use it 10 | 11 | Just three easy steps: 12 | 13 | 1. Add [DevsDNA.GradientBoxView](https://www.nuget.org/packages/DevsDNA.GradientBoxView) NuGet to both your PCL and platform projects; 14 | 15 | 2. In your XAML file, add the following namespace –usually at the `ContentPage` root element: 16 | 17 | ```xaml 18 | xmlns:devsdna="clr-namespace:DevsDNA;assembly=DevsDNA.GradientBoxView" 19 | ``` 20 | 21 | 3. Place beautiful gradients there where you want! 22 | 23 | ```xaml 24 | 27 | ``` 28 | 29 | (If you're looking for more complex gradients –more than 2 colors, for instance– [XFGloss](https://github.com/tbaggett/xfgloss) may fit your needs.) 30 | 31 | *Pst!* Have a look to the [Examples](Examples/) folder to get some inspiration! 32 | -------------------------------------------------------------------------------- /Examples/Droid/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 24 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Examples/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDisplayName 6 | GradientBoxViewExample 7 | CFBundleName 8 | GradientBoxViewExample 9 | CFBundleIdentifier 10 | com.devsdna.GradientBoxViewExample 11 | CFBundleShortVersionString 12 | 1.0 13 | CFBundleVersion 14 | 1.0 15 | LSRequiresIPhoneOS 16 | 17 | MinimumOSVersion 18 | 8.0 19 | UIDeviceFamily 20 | 21 | 1 22 | 2 23 | 24 | UILaunchStoryboardName 25 | LaunchScreen 26 | UIRequiredDeviceCapabilities 27 | 28 | armv7 29 | 30 | UISupportedInterfaceOrientations 31 | 32 | UIInterfaceOrientationPortrait 33 | UIInterfaceOrientationLandscapeLeft 34 | UIInterfaceOrientationLandscapeRight 35 | 36 | UISupportedInterfaceOrientations~ipad 37 | 38 | UIInterfaceOrientationPortrait 39 | UIInterfaceOrientationPortraitUpsideDown 40 | UIInterfaceOrientationLandscapeLeft 41 | UIInterfaceOrientationLandscapeRight 42 | 43 | XSAppIconAssets 44 | Assets.xcassets/AppIcon.appiconset 45 | 46 | 47 | -------------------------------------------------------------------------------- /Examples/Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.axml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable/ 12 | icon.png 13 | 14 | layout/ 15 | main.axml 16 | 17 | values/ 18 | strings.xml 19 | 20 | In order to get the build system to recognize Android resources, set the build action to 21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 22 | instead operate on resource IDs. When you compile an Android application that uses resources, 23 | the build system will package the resources for distribution and generate a class called "R" 24 | (this is an Android convention) that contains the tokens for each one of the resources 25 | included. For example, for the above Resources layout, this is what the R class would expose: 26 | 27 | public class R { 28 | public class drawable { 29 | public const int icon = 0x123; 30 | } 31 | 32 | public class layout { 33 | public const int main = 0x456; 34 | } 35 | 36 | public class strings { 37 | public const int first_string = 0xabc; 38 | public const int second_string = 0xbcd; 39 | } 40 | } 41 | 42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first 44 | string in the dictionary file values/strings.xml. 45 | -------------------------------------------------------------------------------- /Examples/Droid/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.Android/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.NuGet/DevsDNA.GradientBoxView.NuGet.nuproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {E12297E5-052A-4095-AFC2-CAC2BBD53896} 8 | An empowered Xamarin.Forms' BoxView with 2-color gradients. 9 | DevsDNA.GradientBoxView 10 | 1.0.1 11 | Marcos Cobeña Morián 12 | false 13 | false 14 | Exe 15 | DevsDNA.GradientBoxView 16 | false 17 | DevsDNA.GradientBoxView.NuGet 18 | v4.5 19 | Marcos Cobeña Morián 20 | DevsDNA 21 | https://github.com/DevsDNA/GradientBoxView 22 | https://github.com/DevsDNA/GradientBoxView/blob/master/LICENSE 23 | Downgraded Xamarin.Forms dependency to the first stable in 2.4 branch. 24 | 25 | 26 | true 27 | full 28 | bin\Debug 29 | prompt 30 | 31 | 32 | bin\Release 33 | prompt 34 | 35 | 36 | 37 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA} 38 | DevsDNA.GradientBoxView.Android 39 | 40 | 41 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3} 42 | DevsDNA.GradientBoxView.iOS 43 | 44 | 45 | {F477F821-A149-4DC5-818E-DB9281BF62CA} 46 | DevsDNA.GradientBoxView 47 | 48 | 49 | 50 | 51 | 0.2.0 52 | All 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView/DevsDNA.GradientBoxView.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Debug 7 | AnyCPU 8 | {F477F821-A149-4DC5-818E-DB9281BF62CA} 9 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | true 11 | Library 12 | DevsDNA.GradientBoxView 13 | DevsDNA.GradientBoxView 14 | v4.5 15 | Profile111 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\Debug 22 | DEBUG; 23 | prompt 24 | 4 25 | 26 | 27 | true 28 | bin\Release 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | ..\packages\Xamarin.Forms.2.4.0.280\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Core.dll 41 | 42 | 43 | ..\packages\Xamarin.Forms.2.4.0.280\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Platform.dll 44 | 45 | 46 | ..\packages\Xamarin.Forms.2.4.0.280\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Xaml.dll 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Examples/GradientBoxViewExample/GradientBoxViewExample.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | {8255E58C-1326-49CE-9FB8-60B503093B05} 7 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 8 | true 9 | Library 10 | GradientBoxViewExample 11 | GradientBoxViewExample 12 | v4.5 13 | Profile111 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug 20 | DEBUG; 21 | prompt 22 | 4 23 | 24 | 25 | true 26 | bin\Release 27 | prompt 28 | 4 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | App.xaml 37 | 38 | 39 | GradientBoxViewExamplePage.xaml 40 | 41 | 42 | 43 | 44 | 45 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Core.dll 46 | 47 | 48 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Platform.dll 49 | 50 | 51 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Xaml.dll 52 | 53 | 54 | ..\..\packages\DevsDNA.GradientBoxView.1.0.1\lib\portable45-net45+win8+wpa81\DevsDNA.GradientBoxView.dll 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /Examples/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | }, 88 | { 89 | "idiom" : "ios-marketing", 90 | "size" : "1024x1024", 91 | "scale" : "1x" 92 | }, 93 | { 94 | "size" : "24x24", 95 | "idiom" : "watch", 96 | "scale" : "2x", 97 | "role" : "notificationCenter", 98 | "subtype" : "38mm" 99 | }, 100 | { 101 | "size" : "27.5x27.5", 102 | "idiom" : "watch", 103 | "scale" : "2x", 104 | "role" : "notificationCenter", 105 | "subtype" : "42mm" 106 | }, 107 | { 108 | "size" : "29x29", 109 | "idiom" : "watch", 110 | "role" : "companionSettings", 111 | "scale" : "2x" 112 | }, 113 | { 114 | "size" : "29x29", 115 | "idiom" : "watch", 116 | "role" : "companionSettings", 117 | "scale" : "3x" 118 | }, 119 | { 120 | "size" : "40x40", 121 | "idiom" : "watch", 122 | "scale" : "2x", 123 | "role" : "appLauncher", 124 | "subtype" : "38mm" 125 | }, 126 | { 127 | "size" : "44x44", 128 | "idiom" : "watch", 129 | "scale" : "2x", 130 | "role" : "longLook", 131 | "subtype" : "42mm" 132 | }, 133 | { 134 | "size" : "86x86", 135 | "idiom" : "watch", 136 | "scale" : "2x", 137 | "role" : "quickLook", 138 | "subtype" : "38mm" 139 | }, 140 | { 141 | "size" : "98x98", 142 | "idiom" : "watch", 143 | "scale" : "2x", 144 | "role" : "quickLook", 145 | "subtype" : "42mm" 146 | }, 147 | { 148 | "idiom" : "mac", 149 | "size" : "16x16", 150 | "scale" : "1x" 151 | }, 152 | { 153 | "idiom" : "mac", 154 | "size" : "16x16", 155 | "scale" : "2x" 156 | }, 157 | { 158 | "idiom" : "mac", 159 | "size" : "32x32", 160 | "scale" : "1x" 161 | }, 162 | { 163 | "idiom" : "mac", 164 | "size" : "32x32", 165 | "scale" : "2x" 166 | }, 167 | { 168 | "idiom" : "mac", 169 | "size" : "128x128", 170 | "scale" : "1x" 171 | }, 172 | { 173 | "idiom" : "mac", 174 | "size" : "128x128", 175 | "scale" : "2x" 176 | }, 177 | { 178 | "idiom" : "mac", 179 | "size" : "256x256", 180 | "scale" : "1x" 181 | }, 182 | { 183 | "idiom" : "mac", 184 | "size" : "256x256", 185 | "scale" : "2x" 186 | }, 187 | { 188 | "idiom" : "mac", 189 | "size" : "512x512", 190 | "scale" : "1x" 191 | }, 192 | { 193 | "idiom" : "mac", 194 | "size" : "512x512", 195 | "scale" : "2x" 196 | } 197 | ], 198 | "info" : { 199 | "version" : 1, 200 | "author" : "xcode" 201 | } 202 | } 203 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.iOS/DevsDNA.GradientBoxView.iOS.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Debug 7 | AnyCPU 8 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3} 9 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | DevsDNA.GradientBoxView 12 | DevsDNA.GradientBoxView 13 | Resources 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug 20 | DEBUG; 21 | prompt 22 | 4 23 | iPhone Developer 24 | true 25 | true 26 | true 27 | true 28 | 14634 29 | false 30 | 31 | 32 | 33 | 34 | 35 | pdbonly 36 | true 37 | bin\Release 38 | 39 | prompt 40 | 4 41 | iPhone Developer 42 | true 43 | SdkOnly 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | ..\packages\Xamarin.Forms.2.4.0.280\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll 54 | 55 | 56 | ..\packages\Xamarin.Forms.2.4.0.280\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll 57 | 58 | 59 | ..\packages\Xamarin.Forms.2.4.0.280\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll 60 | 61 | 62 | ..\packages\Xamarin.Forms.2.4.0.280\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /Examples/iOS/GradientBoxViewExample.iOS.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | iPhoneSimulator 7 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930} 8 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 9 | Exe 10 | GradientBoxViewExample.iOS 11 | GradientBoxViewExample.iOS 12 | Resources 13 | 14 | 15 | true 16 | full 17 | false 18 | bin\iPhoneSimulator\Debug 19 | DEBUG;ENABLE_TEST_CLOUD; 20 | prompt 21 | 4 22 | iPhone Developer 23 | true 24 | true 25 | true 26 | true 27 | 63786 28 | None 29 | x86_64 30 | HttpClientHandler 31 | false 32 | 33 | 34 | 35 | pdbonly 36 | true 37 | bin\iPhone\Release 38 | 39 | prompt 40 | 4 41 | iPhone Developer 42 | true 43 | Entitlements.plist 44 | SdkOnly 45 | ARM64 46 | HttpClientHandler 47 | 48 | 49 | 50 | pdbonly 51 | true 52 | bin\iPhoneSimulator\Release 53 | 54 | prompt 55 | 4 56 | iPhone Developer 57 | true 58 | None 59 | x86_64 60 | HttpClientHandler 61 | 62 | 63 | 64 | true 65 | full 66 | false 67 | bin\iPhone\Debug 68 | DEBUG;ENABLE_TEST_CLOUD; 69 | prompt 70 | 4 71 | iPhone Developer 72 | true 73 | true 74 | true 75 | true 76 | true 77 | true 78 | Entitlements.plist 79 | 14341 80 | SdkOnly 81 | ARM64 82 | HttpClientHandler 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll 92 | 93 | 94 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll 95 | 96 | 97 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll 98 | 99 | 100 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll 101 | 102 | 103 | ..\..\packages\DevsDNA.GradientBoxView.1.0.1\lib\xamarinios10\DevsDNA.GradientBoxView.dll 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | {8255E58C-1326-49CE-9FB8-60B503093B05} 128 | GradientBoxViewExample 129 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "DevsDNA.GradientBoxView.Shared", "DevsDNA.GradientBoxView.Shared\DevsDNA.GradientBoxView.Shared.shproj", "{0A410F83-408B-491D-A9AC-54DF24B00FCB}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DevsDNA.GradientBoxView.iOS", "DevsDNA.GradientBoxView.iOS\DevsDNA.GradientBoxView.iOS.csproj", "{AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DevsDNA.GradientBoxView.Android", "DevsDNA.GradientBoxView.Android\DevsDNA.GradientBoxView.Android.csproj", "{21B43B79-0A3B-46F4-BC60-99FAFB0178FA}" 9 | EndProject 10 | Project("{5DD5E4FA-CB73-4610-85AB-557B54E96AA9}") = "DevsDNA.GradientBoxView.NuGet", "DevsDNA.GradientBoxView.NuGet\DevsDNA.GradientBoxView.NuGet.nuproj", "{E12297E5-052A-4095-AFC2-CAC2BBD53896}" 11 | EndProject 12 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{AA8BE6E0-C714-48F7-94E1-0CA3B79C6A65}" 13 | EndProject 14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GradientBoxViewExample", "Examples\GradientBoxViewExample\GradientBoxViewExample.csproj", "{8255E58C-1326-49CE-9FB8-60B503093B05}" 15 | EndProject 16 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GradientBoxViewExample.iOS", "Examples\iOS\GradientBoxViewExample.iOS.csproj", "{CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}" 17 | EndProject 18 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GradientBoxViewExample.Droid", "Examples\Droid\GradientBoxViewExample.Droid.csproj", "{7BFC7AB4-CF3C-4412-831F-1100454C3DC8}" 19 | EndProject 20 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DevsDNA.GradientBoxView", "DevsDNA.GradientBoxView\DevsDNA.GradientBoxView.csproj", "{F477F821-A149-4DC5-818E-DB9281BF62CA}" 21 | EndProject 22 | Global 23 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 24 | Debug|Any CPU = Debug|Any CPU 25 | Release|Any CPU = Release|Any CPU 26 | Debug|iPhoneSimulator = Debug|iPhoneSimulator 27 | Release|iPhone = Release|iPhone 28 | Release|iPhoneSimulator = Release|iPhoneSimulator 29 | Debug|iPhone = Debug|iPhone 30 | EndGlobalSection 31 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 32 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Release|Any CPU.Build.0 = Release|Any CPU 36 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 37 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 38 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Release|iPhone.ActiveCfg = Release|Any CPU 39 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Release|iPhone.Build.0 = Release|Any CPU 40 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 41 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 42 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Debug|iPhone.ActiveCfg = Debug|Any CPU 43 | {AF79AC2A-FD4F-4116-B3C4-BAC6C94B15A3}.Debug|iPhone.Build.0 = Debug|Any CPU 44 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 45 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Debug|Any CPU.Build.0 = Debug|Any CPU 46 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Release|Any CPU.ActiveCfg = Release|Any CPU 47 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Release|Any CPU.Build.0 = Release|Any CPU 48 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 49 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 50 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Release|iPhone.ActiveCfg = Release|Any CPU 51 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Release|iPhone.Build.0 = Release|Any CPU 52 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 53 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 54 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Debug|iPhone.ActiveCfg = Debug|Any CPU 55 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA}.Debug|iPhone.Build.0 = Debug|Any CPU 56 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 57 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Debug|Any CPU.Build.0 = Debug|Any CPU 58 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Release|Any CPU.ActiveCfg = Release|Any CPU 59 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Release|Any CPU.Build.0 = Release|Any CPU 60 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 61 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 62 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Release|iPhone.ActiveCfg = Release|Any CPU 63 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Release|iPhone.Build.0 = Release|Any CPU 64 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 65 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 66 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Debug|iPhone.ActiveCfg = Debug|Any CPU 67 | {E12297E5-052A-4095-AFC2-CAC2BBD53896}.Debug|iPhone.Build.0 = Debug|Any CPU 68 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 69 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Debug|Any CPU.Build.0 = Debug|Any CPU 70 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Release|Any CPU.ActiveCfg = Release|Any CPU 71 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Release|Any CPU.Build.0 = Release|Any CPU 72 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 73 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 74 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Release|iPhone.ActiveCfg = Release|Any CPU 75 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Release|iPhone.Build.0 = Release|Any CPU 76 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 77 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 78 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Debug|iPhone.ActiveCfg = Debug|Any CPU 79 | {8255E58C-1326-49CE-9FB8-60B503093B05}.Debug|iPhone.Build.0 = Debug|Any CPU 80 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator 81 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator 82 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Release|Any CPU.ActiveCfg = Release|iPhone 83 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Release|Any CPU.Build.0 = Release|iPhone 84 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator 85 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator 86 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Release|iPhone.ActiveCfg = Release|iPhone 87 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Release|iPhone.Build.0 = Release|iPhone 88 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator 89 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator 90 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Debug|iPhone.ActiveCfg = Debug|iPhone 91 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930}.Debug|iPhone.Build.0 = Debug|iPhone 92 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 93 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Debug|Any CPU.Build.0 = Debug|Any CPU 94 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Release|Any CPU.ActiveCfg = Release|Any CPU 95 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Release|Any CPU.Build.0 = Release|Any CPU 96 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 97 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 98 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Release|iPhone.ActiveCfg = Release|Any CPU 99 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Release|iPhone.Build.0 = Release|Any CPU 100 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 101 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 102 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Debug|iPhone.ActiveCfg = Debug|Any CPU 103 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8}.Debug|iPhone.Build.0 = Debug|Any CPU 104 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 105 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Debug|Any CPU.Build.0 = Debug|Any CPU 106 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Release|Any CPU.ActiveCfg = Release|Any CPU 107 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Release|Any CPU.Build.0 = Release|Any CPU 108 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 109 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 110 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Release|iPhone.ActiveCfg = Release|Any CPU 111 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Release|iPhone.Build.0 = Release|Any CPU 112 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 113 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 114 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Debug|iPhone.ActiveCfg = Debug|Any CPU 115 | {F477F821-A149-4DC5-818E-DB9281BF62CA}.Debug|iPhone.Build.0 = Debug|Any CPU 116 | EndGlobalSection 117 | GlobalSection(NestedProjects) = preSolution 118 | {8255E58C-1326-49CE-9FB8-60B503093B05} = {AA8BE6E0-C714-48F7-94E1-0CA3B79C6A65} 119 | {CDA664C3-67DE-4DF7-ACDE-6D9D4073F930} = {AA8BE6E0-C714-48F7-94E1-0CA3B79C6A65} 120 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8} = {AA8BE6E0-C714-48F7-94E1-0CA3B79C6A65} 121 | EndGlobalSection 122 | EndGlobal 123 | -------------------------------------------------------------------------------- /DevsDNA.GradientBoxView.Android/DevsDNA.GradientBoxView.Android.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Debug 7 | AnyCPU 8 | {21B43B79-0A3B-46F4-BC60-99FAFB0178FA} 9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | DevsDNA.GradientBoxView 12 | DevsDNA.GradientBoxView 13 | v8.0 14 | Resources 15 | Assets 16 | true 17 | 18 | 19 | true 20 | full 21 | false 22 | bin\Debug 23 | DEBUG; 24 | prompt 25 | 4 26 | None 27 | 28 | 29 | true 30 | pdbonly 31 | true 32 | bin\Release 33 | prompt 34 | 4 35 | true 36 | false 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | ..\packages\Xamarin.Android.Support.Annotations.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Annotations.dll 45 | 46 | 47 | ..\packages\Xamarin.Android.Support.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll 48 | 49 | 50 | ..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll 51 | 52 | 53 | ..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll 54 | 55 | 56 | ..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll 57 | 58 | 59 | ..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll 60 | 61 | 62 | ..\packages\Xamarin.Android.Support.Transition.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Transition.dll 63 | 64 | 65 | ..\packages\Xamarin.Android.Support.v4.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll 66 | 67 | 68 | ..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.CardView.dll 69 | 70 | 71 | ..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.Palette.dll 72 | 73 | 74 | ..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.dll 75 | 76 | 77 | ..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll 78 | 79 | 80 | ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll 81 | 82 | 83 | ..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll 84 | 85 | 86 | ..\packages\Xamarin.Android.Support.Design.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Design.dll 87 | 88 | 89 | ..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.dll 90 | 91 | 92 | ..\packages\Xamarin.Forms.2.4.0.280\lib\MonoAndroid10\FormsViewGroup.dll 93 | 94 | 95 | ..\packages\Xamarin.Forms.2.4.0.280\lib\MonoAndroid10\Xamarin.Forms.Core.dll 96 | 97 | 98 | ..\packages\Xamarin.Forms.2.4.0.280\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll 99 | 100 | 101 | ..\packages\Xamarin.Forms.2.4.0.280\lib\MonoAndroid10\Xamarin.Forms.Platform.dll 102 | 103 | 104 | ..\packages\Xamarin.Forms.2.4.0.280\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /Examples/Droid/GradientBoxViewExample.Droid.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {7BFC7AB4-CF3C-4412-831F-1100454C3DC8} 8 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 9 | Library 10 | GradientBoxViewExample.Droid 11 | GradientBoxViewExample.Droid 12 | v8.0 13 | True 14 | Resources\Resource.designer.cs 15 | Resource 16 | Properties\AndroidManifest.xml 17 | Resources 18 | Assets 19 | false 20 | 21 | 22 | true 23 | full 24 | false 25 | bin\Debug 26 | DEBUG; 27 | prompt 28 | 4 29 | None 30 | arm64-v8a;armeabi;armeabi-v7a;x86 31 | 32 | 33 | true 34 | pdbonly 35 | true 36 | bin\Release 37 | prompt 38 | 4 39 | true 40 | false 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | ..\..\packages\Xamarin.Android.Support.Annotations.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Annotations.dll 49 | 50 | 51 | ..\..\packages\Xamarin.Android.Support.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll 52 | 53 | 54 | ..\..\packages\Xamarin.Android.Support.Core.UI.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll 55 | 56 | 57 | ..\..\packages\Xamarin.Android.Support.Core.Utils.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll 58 | 59 | 60 | ..\..\packages\Xamarin.Android.Support.Media.Compat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll 61 | 62 | 63 | ..\..\packages\Xamarin.Android.Support.Fragment.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll 64 | 65 | 66 | ..\..\packages\Xamarin.Android.Support.v4.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll 67 | 68 | 69 | ..\..\packages\Xamarin.Android.Support.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll 70 | 71 | 72 | ..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll 73 | 74 | 75 | ..\..\packages\Xamarin.Android.Support.v7.AppCompat.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll 76 | 77 | 78 | ..\..\packages\Xamarin.Android.Support.Transition.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Transition.dll 79 | 80 | 81 | ..\..\packages\Xamarin.Android.Support.v7.RecyclerView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.RecyclerView.dll 82 | 83 | 84 | ..\..\packages\Xamarin.Android.Support.Design.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.Design.dll 85 | 86 | 87 | ..\..\packages\Xamarin.Android.Support.v7.CardView.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.CardView.dll 88 | 89 | 90 | ..\..\packages\Xamarin.Android.Support.v7.Palette.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.Palette.dll 91 | 92 | 93 | ..\..\packages\Xamarin.Android.Support.v7.MediaRouter.25.4.0.2\lib\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.dll 94 | 95 | 96 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\MonoAndroid10\FormsViewGroup.dll 97 | 98 | 99 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\MonoAndroid10\Xamarin.Forms.Core.dll 100 | 101 | 102 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll 103 | 104 | 105 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\MonoAndroid10\Xamarin.Forms.Platform.dll 106 | 107 | 108 | ..\..\packages\Xamarin.Forms.2.5.0.121934\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll 109 | 110 | 111 | 112 | 113 | ..\..\packages\DevsDNA.GradientBoxView.1.0.1\lib\monoandroid71\DevsDNA.GradientBoxView.dll 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | {8255E58C-1326-49CE-9FB8-60B503093B05} 139 | GradientBoxViewExample 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | --------------------------------------------------------------------------------