Forms9Patch 0.9.12.3

Xamarin Forms is great for developing apps on Android and iOS but it is missing two important tools for developers: scalable images and PCL multi-screen image management.  Android developers use NinePatch bitmaps and the drawable directory naming convention for this purpose.  Likewise, iOS developers use ResizeableImageWithCapInsets and the @2x, @3x, @4x file naming convention for this purpose.

Forms 9 Patch enhances Xamarin Forms to enable multi-resolution / multi-screen image management to PCL apps for iOS and Android.

There is a newer version of this package available.
See the version list below for details.
Install-Package Forms9Patch -Version 0.9.12.3
dotnet add package Forms9Patch --version 0.9.12.3
<PackageReference Include="Forms9Patch" Version="0.9.12.3">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Forms9Patch --version 0.9.12.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Forms9Patch, 0.9.12.3"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Forms9Patch as a Cake Addin
#addin nuget:?package=Forms9Patch&version=0.9.12.3

// Install Forms9Patch as a Cake Tool
#tool nuget:?package=Forms9Patch&version=0.9.12.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

0.9.12.2: Fixed: (1) crash when render Label in Horizontal Orientation in StackLayout; (2) Failure to render Label in some layouts; (3) Failure to autofit some one-character labels correctly; (4) Failure to resize label when bounds changes; Enhanced: Can refer to iOS system fonts by using their name as value for FontFamily property.
0.9.12.2: Fixed: (1) crash when instantiating buttons on iOS release builds; (2) iOS HtmlText <tt> tag combined with <b>, <u>, or <i> fails to render font correctly; (3) Image button touch intermittantly fails.
Enhanced: Width and Height values of LabelFit are now supported for labels with unimposed Height.
0.9.12.1: Fixed: (1) failure to get bold and/or italic version of some iOS system fonts; (2) Multi-line labels not appearing so on iOS; (3) 9Patch images market to edge failing to render on iOS;
0.9.12.0: New: Width and Lines Autofit for Labels.  TrailingImage property for ImageButton, MaterialButton and MaterialSegmentedController. Forms9Patch.FontExtensions.LoadedFontFamilies() lists all currently loaded fonts.
Fixed: iOS HtmlMarkup underlines don't match font color, Default Android image button label missing for some states.  Unable to bind to Segment.  Able to unselect Segment when in Radio mode.
0.9.11.2: Fixed: in iOS, Images will have height or width of 1 (instead defaulting to source image height or width) when HeightRequest or WidthRequest is not set.
0.9.11.1: Fixed: Issue where Forms9Patch.iOS.Settings.LicenseKey throws System.NullRefernceException.
0.9.11.0: Added HTML markup to Label, MaterialButton, Segment, and ImageButtonState elements.
0.9.10.7: Built for Xamain Forms 2.2
0.9.10.6: Fixed crash when no Target is given for BubblePopup.  Fixed failure to present popups when used w/ PushModalAsync().
0.9.10.4: Added Cancel method to Popups; Auto-cancel Popups when Android [back] button is pressed.
0.9.10.3: Improved reliabilty of rendering of 9patch backgrounds when used in ListView in Android.
0.9.10.2: Fixed AOT issue that caused BubblePopup not to work on iOS devices.
0.9.10.1: Fixed layout of NinePatch backgrounds when used in a ListView on Android.
0.9.10.0: Added ModalPopup and BubblePopup elements.  See demo app for example.
0.9.9.3: 25x Improved tap response on all buttons; Fixed ImageButton.Background rendering issue.
0.9.9.2: 3x Improved iOS image loading time.  Known issue: ImageButton Fails to present anything but DefaultState.BackgroundImage - will be fixed very soon.
0.9.9.1: Fixed issue with comping for iOS devices.
0.9.9.0: Added:
(1) PressingState to ImageButton to enable customization of the button for when it is in the pressed state.
(2) LongPressing and LongPressed events have been added to the ImageButton, MaterialButton, and Segment element.
(3) SegmentLongPressing and SegmentLongPressed events have been added to the MaterialSegmentedControl element.
(4) Renamed ImageButton's Clicked event to Tapped.
0.9.8.2: Fixed not all XAML attributes working for ImageButtonState.
0.9.8.1: Fixed:  XAML Segments Attribute for MaterialSegmentButton; Added FontColor and FontAttributes properties to Segment
0.9.8.0+ Added MaterialSegmentControl, Added Orientation property to MaterialButton
0.9.7.1 Fixed: MaterialButton render when image but no text present.
0.9.7.0 Added ImageButton and MaterialButton elements, Added HasShadow property to Android and iOS AbsoluteLayout, Frame, Grid, RelativeLayout, and StackLayout layouts.
0.9.6.0 Fixed intermittant iOS UIImage.ImageWithData double free, Added RelativeLayout, Grid, and AbsoluteLayout Elements
0.9.5.2 Fixed ContentView background scalable image rendered as non-scalable image if CapsInset has a one or two -1 values
0.9.5.1 Fixed scaling of ContentView BackgroundImage
0.9.5 1) Added Fill (AspectFill, AspectFit, Fill and Tile) property to Image; 2) Added ContentView and Frame elements with BackgroundView and (for Frame) OutlineWidth and OutlineRadius properties
0.9.4 Bug fix Correct resizing when iOS screen orientation changes
0.9.3 fix race condition during debug where iOS Renderer releases Element before releasing renderer.
0.9.2 Bug fix for not properly scaling when parent space is smaller than base image but larger than base image less complaint portion.
0.9.1 beta release
0.9.1 fix: scaling of scalable images larger than parent space

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Forms9Patch:

Package Downloads
EltraXamCommon
Eltra - CANOpen based IoT Framework - SDK - Xamarin UI
Plugin.Xamarin.Tools
Set of several tools and dependency services for xamarin

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Forms9Patch:

Repository Stars
baskren/Forms9Patch
Simplify image management and text formatting in your Xamarin.Forms apps

Version History

Version Downloads Last updated
2.4.9 7,489 12/16/2020
2.4.9-beta2 479 12/16/2020
2.4.9-beta1 585 12/15/2020
2.4.8 2,066 11/28/2020
2.4.7 1,700 11/19/2020
2.4.6 4,070 9/18/2020
2.4.5 517 9/17/2020
2.4.4 539 9/17/2020
2.4.2 5,033 7/25/2020
2.4.1 948 7/25/2020
2.4.0 673 7/24/2020
2.4.0-beta2 347 7/24/2020
2.4.0-beta1 349 7/24/2020
2.3.0 8,680 6/29/2020
2.2.6 11,007 3/15/2020
2.2.5 927 3/14/2020
2.2.5-beta1 420 3/14/2020
2.2.4 5,050 1/28/2020
2.2.4-beta1 478 1/23/2020
2.2.3 2,498 1/4/2020
2.2.3-pre1 1,377 1/4/2020
2.2.2 1,066 12/31/2019
2.2.1 714 12/30/2019
2.2.0 639 12/26/2019
2.1.3 1,957 12/10/2019
2.1.2 3,104 11/27/2019
2.1.1 512 11/26/2019
2.1.0 600 11/26/2019
2.1.0-beta1 411 11/22/2019
2.0.2 1,336 11/13/2019
2.0.1 636 11/12/2019
2.0.0 2,064 11/11/2019
2.0.0-rc1 371 11/11/2019
1.8.1 2,740 9/17/2019
1.8.0.5 1,785 8/15/2019
1.8.0.4 1,556 7/26/2019
1.8.0.2 1,813 7/9/2019
1.8.0.1 1,228 7/5/2019
1.8.0 1,838 6/26/2019
1.7.0 11,912 4/22/2019
1.6.7.2 3,083 4/12/2019
1.6.7.1 1,363 4/11/2019
1.6.7 1,130 4/11/2019
1.6.6.2 1,535 4/7/2019
1.6.6.1 1,897 3/22/2019
1.6.6 7,135 3/2/2019
1.6.5.1 1,521 2/6/2019
1.6.5.1-rc2 1,148 2/1/2019
1.6.5.1-rc1 1,147 1/30/2019
1.6.5 1,575 1/28/2019
1.6.4 14,897 12/5/2018
1.6.3 8,726 11/25/2018
1.6.2.1 3,157 11/16/2018
1.6.2 1,494 11/15/2018
1.6.1 1,568 11/2/2018
1.6.0.1 1,243 10/30/2018
1.6.0-rc5 1,299 10/30/2018
1.6.0-rc4 1,186 10/30/2018
1.6.0-rc3 1,154 10/29/2018
1.6.0-rc2 1,228 10/27/2018
1.6.0-rc1 1,185 10/27/2018
1.5.0.9 8,418 10/23/2018
1.5.0.9-beta1 1,361 10/22/2018
1.5.0.8 1,343 10/22/2018
1.5.0.7-rc1 1,256 10/20/2018
1.5.0.6 1,437 10/12/2018
1.5.0.5 1,403 10/12/2018
1.5.0-rc1 1,193 10/9/2018
1.4.0.3 2,030 9/7/2018
1.4.0.2 1,484 9/7/2018
1.4.0.1 1,301 9/7/2018
1.4.0 1,417 9/5/2018
1.3.3 4,283 6/28/2018
1.3.2 3,572 6/19/2018
1.3.1 1,786 5/15/2018
1.3.0 1,681 5/11/2018
1.2.0.3 1,596 4/19/2018
1.2.0 1,405 4/17/2018
1.1.1 1,812 2/19/2018
1.1.0 1,795 1/6/2018
1.0.1.3 1,382 1/5/2018
1.0.1.2 1,632 1/4/2018
1.0.1.1 1,899 1/2/2018
1.0.0 1,417 12/28/2017
0.10.3.5 9,805 10/26/2017
0.10.3.4 2,756 10/7/2017
0.10.3.3 5,335 8/14/2017
0.10.3.2 1,524 8/2/2017
0.10.3.1 1,511 7/10/2017
0.10.3 1,423 6/27/2017
0.10.2.16 1,454 6/21/2017
0.10.2.13 1,550 5/30/2017
0.10.2.12 1,394 5/23/2017
0.10.2.11 1,544 5/10/2017
0.10.2.10 1,443 5/3/2017
0.10.2.9 1,373 5/3/2017
0.10.2.8 1,374 5/3/2017
0.10.2.7 1,476 5/1/2017
0.10.2.6 1,707 4/16/2017
0.10.2.5 1,352 4/16/2017
0.10.2.4 1,446 4/10/2017
0.10.2.3 1,429 3/28/2017
0.10.2.2 2,140 3/2/2017
0.10.2.1 1,953 2/22/2017
0.10.1 1,581 2/16/2017
0.10.0.1 1,537 2/13/2017
0.10.0 1,489 2/11/2017
0.9.13.5 3,639 10/13/2016
0.9.13.4 1,538 9/26/2016
0.9.13.3 1,430 9/21/2016
0.9.13.2 1,404 9/15/2016
0.9.13.1 1,429 9/1/2016
0.9.13 1,519 8/22/2016
0.9.12.5 1,403 8/17/2016
0.9.12.4 1,606 8/6/2016
0.9.12.3 1,551 7/19/2016
0.9.12.2 1,586 7/16/2016
0.9.12.1 1,520 7/13/2016
0.9.12 1,563 7/11/2016
0.9.11.2 1,564 6/27/2016
0.9.11.1 1,633 5/10/2016
0.9.11 1,585 5/5/2016
0.9.10.7 1,472 4/29/2016
0.9.10.6 1,433 4/12/2016
0.9.10.5 1,503 4/5/2016
0.9.10.4 1,364 3/31/2016
0.9.10.3 1,403 3/23/2016
0.9.10.2 1,388 3/21/2016
0.9.10.1 1,422 3/21/2016
0.9.10 1,601 3/11/2016
0.9.9.3 1,613 3/1/2016
0.9.9.2 1,409 3/1/2016
0.9.9.1 1,471 2/28/2016
0.9.9 1,402 2/25/2016
0.9.8.2 1,417 2/19/2016
0.9.8.1 1,398 2/5/2016
0.9.8 1,407 2/4/2016
0.9.7.1 1,401 1/29/2016
0.9.7 1,361 1/28/2016
0.9.6 1,376 1/24/2016
0.9.5.2 1,422 1/21/2016
0.9.5.1 1,406 1/20/2016
0.9.5 1,478 1/20/2016
0.9.4.1 1,516 1/14/2016
0.9.3 1,431 1/13/2016
0.9.2.3 1,468 1/9/2016
0.9.1 1,389 1/4/2016
Show less