Skip to content
Use icon fonts in your Xamarin.Android, Xamarin.iOS, or Xamarin.Forms application!
Branch: master
Clone or download
Latest commit 7293372 Mar 1, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
samples Update samples Feb 6, 2019
src Fixed font name Feb 25, 2019
.gitattributes * Breaking changes May 30, 2017
.gitignore Excluded tools directory Apr 26, 2018
Directory.Build.props
LICENSE Initial commit Oct 13, 2016
README.md Update README.md Mar 1, 2019
appveyor.yml Update to Xamarin.Forms 3.5 Feb 6, 2019
bootbuild.ps1
build.cake

README.md

Iconize Plugin for Xamarin Forms

A .NET for Xamarin port of the android-iconify project. Use icon fonts in your Xamarin.Forms application!

Updated to NetStandard 2.0, FontAwesome 5

NuGet

Build Status

Icon Fonts

Font Requests
If you have an icon font or series of svg pictograms you'd like included, just submit an issue or pull request and we'll work to add it.

Extensibility
In case you can't find the icon you want, you can extend the available icon directly from your app. All you need to do is to implement IIconModule with a .ttf file in your assets/resources and provide the mapping between keys and special characters, then give it to Iconize.With().

There are no constraints on the icon keys, but I strongly suggest you use a unique prefix like my- or anything, to avoid conflicts with other modules. FYI, if there is a conflict, the first module declared with Iconize.With() has priority.

Controls

Xamarin.Forms

  • IconButton (Button)
  • IconImage (Image)
  • IconLabel (Label)
  • IconTabbedPage (TabbedPage)
  • IconToolbarItem (ToolbarItem)
    • Requires IconNavigationPage

Setup

Install

Nuget
All packages are provided via NuGet.

Configure

PCL Project
Initialize any number of modules in App.cs constructor.

public App()
{
    ...
    Plugin.Iconize.Iconize.With(new Plugin.Iconize.Fonts.EntypoPlusModule())
                          .With(new Plugin.Iconize.Fonts.FontAwesomeRegularModule())
                          .With(new Plugin.Iconize.Fonts.FontAwesomeBrandsModule())
                          .With(new Plugin.Iconize.Fonts.FontAwesomeSolidModule());
                          .With(new Plugin.Iconize.Fonts.IoniconsModule())
                          .With(new Plugin.Iconize.Fonts.MaterialModule())
                          .With(new Plugin.Iconize.Fonts.MaterialDesignIconsModule())
                          .With(new Plugin.Iconize.Fonts.MeteoconsModule())
                          .With(new Plugin.Iconize.Fonts.SimpleLineIconsModule())
                          .With(new Plugin.Iconize.Fonts.TypiconsModule())
                          .With(new Plugin.Iconize.Fonts.WeatherIconsModule());
    ...
}

Xamarin.Android (AppCompat)
Initialize the IconControls.

protected override void OnCreate(Bundle savedInstanceState)
{
    Xamarin.Forms.Forms.Init(this, savedInstanceState);
    ...
    Plugin.Iconize.Iconize.Init(Resource.Id.toolbar, Resource.Id.sliding_tabs);
    ...
    LoadApplication(new App());
}

Xamarin.iOS (Unified)
Add the UIAppFonts key to Info.plist with the specific fonts you have chosen.

<key>UIAppFonts</key>
<array>
    <string>iconize-entypoplus.ttf</string>
    <string>iconize-fontawesome-regular.ttf</string>
    <string>iconize-fontawesome-solid.ttf</string>
    <string>iconize-fontawesome-brands.ttf</string>
    <string>iconize-ionicons.ttf</string>
    <string>iconize-material.ttf</string>
    <string>iconize-meteocons.ttf</string>
    <string>iconize-simplelineicons.ttf</string>
    <string>iconize-typicons.ttf</string>
    <string>iconize-weathericons.ttf</string>
</array>

Xamarin.Forms with Caliburn Micro
Add the following to App.cs

protected override NavigationPage CreateApplicationPage()
{
    return new IconNavigationPage();
}

License

This work is licensed under the Apache License, Version 2.0.

Entypo+
Entypo+ is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0)

Font Awesome
Font Awesome is licensed under the SIL Open Font License 1.1.

Font Awesome Pro
Font Awesome Pro is commercial software that requires a paid license. Full Font Awesome Pro license. As a consequence the font files are not bundled with the plugin and need to be added manually.

Google Material Icons
Google Material Icons are licensed under the Apache License, Version 2.0.

Ionicons
Ionicons is licensed under the MIT License.

Jam Icons
Jam Icons is licensed under the MIT License.

Material Design Icons
Material Design Icons are licensed under the SIL Open Font License 1.1.

Meteocons
Meteocons are provided as free icons by the creator, Alessio Atzeni.

Simple Line Icons
Simple Line Icons are licensed under the MIT License.

Typicons
Typicons is licensed under the SIL Open Font License 1.1.

Weather Icons
Weather Icons are licensed under the SIL Open Font License 1.1.

Brand Icons
All brand icons are trademarks of their respective owners. The use of these trademarks does not indicate endorsement of the trademark holder by Iconize, nor vice versa. Brand icons should only be used to represent the company or product to which they refer.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.