AathifMahir.Maui.MauiIcons.FontAwesome
2.1.1
Prefix Reserved
See the version list below for details.
dotnet add package AathifMahir.Maui.MauiIcons.FontAwesome --version 2.1.1
NuGet\Install-Package AathifMahir.Maui.MauiIcons.FontAwesome -Version 2.1.1
<PackageReference Include="AathifMahir.Maui.MauiIcons.FontAwesome" Version="2.1.1" />
paket add AathifMahir.Maui.MauiIcons.FontAwesome --version 2.1.1
#r "nuget: AathifMahir.Maui.MauiIcons.FontAwesome, 2.1.1"
// Install AathifMahir.Maui.MauiIcons.FontAwesome as a Cake Addin #addin nuget:?package=AathifMahir.Maui.MauiIcons.FontAwesome&version=2.1.1 // Install AathifMahir.Maui.MauiIcons.FontAwesome as a Cake Tool #tool nuget:?package=AathifMahir.Maui.MauiIcons.FontAwesome&version=2.1.1
.Net Maui Icons
The .NET MAUI Icons - Font Awesome library serves as a lightweight icon library, addressing icon and font icon management in .NET MAUI by offering controls that utilize the Free and Open Source Version of FontAwesome 6 Icons, seamlessly integrated into the library. Check out the Repository for Docs
Get Started
In order to use the .Net Maui Icons - Font Awesome you need to call the extension method in your MauiProgram.cs
file as follows:
using MauiIcons.FontAwesome;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
// Initialise the .Net Maui Icons - FontAwesome
builder.UseMauiApp<App>().UseFontAwesomeMauiIcons();
}
}
Usage
In order to make use of the .Net Maui Icons - Font Awesome you can use the below namespace:
Xaml
xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"
C#
using MauiIcons.FontAwesome;
Workaround
if you came across this issue dotnet/maui#7503 when using new namespace, Make sure to create an discarded instance of MauiIcon in the codebehind like below
public MainPage()
{
InitializeComponent();
// Temporary Workaround for url styled namespace in xaml
_ = new MauiIcon();
}
Built in Control Usage
Xaml
<mi:MauiIcon Icon="{mi:FontAwesome Hashtag}"/>
C#
new MauiIcon() {Icon = FontAwesomeIcons.Hashtag, IconColor = Colors.Green};
new MauiIcon().Icon(FontAwesomeIcons.Asterisk).IconColor(Colors.Purple);
All the Properties and Features of Built in Control, Check Here
Xaml Extension Usage
<Image Aspect="Center" Source="{mi:FontAwesome Icon=Asterisk}"/>
<Label Text="{mi:FontAwesome Icon=Hashtag}"/>
C# Markup Usage
new ImageButton().Icon(FontAwesomeIcons.Asterisk),
new Image().Icon(FontAwesomeIcons.Hashtag),
new Label().Icon(FontAwesomeIcons.GreaterThan).IconSize(40.0).IconColor(Colors.Red),
new Entry().Icon(FontAwesomeIcons.Star).IconSize(20.0).IconColor(Colors.Aqua),
Disclaimer: It's important to note that not all controls are compatible with C# markup. We have conducted tests with the following controls in the current release: Label, Image, ImageButton, SearchBar, Editor, and Entry. Additionally, the native MauiIcon control, when combined with C# markup, can prove to be quite versatile and offer extra features for various scenarios.
Applying Icon To Text or Placeholder
Controls that Supports Placeholder, Can Assign the Icon To PlaceHolder or Text, Defaults to Placeholder but can be set to Text by Setting isPlaceHolder Parameter to False
new Entry().Icon(FontAwesomeIcons.Star, isPlaceHolder: false).IconSize(20.0).IconColor(Colors.Aqua);
new SearchBar().Icon(FontAwesomeIcons.PenToSquare, isPlaceHolder: false);
Disclaimer: It's important to note that not all controls are compatible with C# markup. We have conducted tests with the following controls in the current release: Label, Image, ImageButton, SearchBar, Editor, and Entry. Additionally, the native MauiIcon control, when combined with C# markup, can prove to be quite versatile and offer extra features for various scenarios.
Custom OnPlatform and OnIdiom Usage
Xaml
<mi:MauiIcon Icon="{mi:FontAwesome Star}" OnPlatforms="WinUI, Android, MacCatalyst"/>
<mi:MauiIcon Icon="{mi:FontAwesome PenToSquare}" OnIdioms="Desktop, Phone, Tablet"/>
<mi:MauiIcon Icon="{mi:FontAwesome Asterisk}" OnPlatforms="Android" OnIdioms="Phone"/>
C#
new MauiIcon().Icon(FontAwesomeIcons.GreaterThan).OnPlatforms(new List<string>{"WinUI", "Android"});
new MauiIcon().Icon(FontAwesomeIcons.Asterisk).OnIdioms(new List<string>{"Desktop", "Phone"});
new MauiIcon().Icon(FontAwesomeIcons.PenToSquare).OnPlatforms(new List<string>{"WinUI", "Android"}).OnIdioms(new List<string>{"Desktop", "Phone"});
Maui Built in OnPlatform and OnIdiom Usage
<Image>
<Image.Source>
<OnPlatform x:TypeArguments="ImageSource" Default="{mi:FontAwesome Icon=GreaterThan, TypeArgument={x:Type ImageSource}}">
<On Platform="MacCatalyst, WinUI"
Value="{mi:FontAwesome Icon=Star, IconBackgroundColor=Cyan, TypeArgument={x:Type ImageSource}}"/>
</OnPlatform>
</Image.Source>
</Image>
<Image>
<Image.Source>
<OnIdiom Default="{mi:FontAwesome Icon=Star, TypeArgument={x:Type ImageSource}}"
Desktop="{mi:FontAwesome Icon=Asterisk, TypeArgument={x:Type ImageSource}}">
</OnIdiom>
</Image.Source>
</Image>
Disclaimer: Only ImageSource or FontImageSource Supports Maui's Built in OnPlatform or OnIdiom and TypeArgument Should be Assigned to Work Optimally, Therefore It's Recommended to use MauiIcons Custom OnPlatform and OnIdioms
License
MauiIcons.FontAwesome
MauiIcons.FontAwesome is Licensed Under MIT License.
Font Awesome Free Icons
Font Awesome Free Icons is Licensed by FontAwesome Under Couple of License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-android33.0 is compatible. net7.0-ios was computed. net7.0-ios16.1 is compatible. net7.0-maccatalyst was computed. net7.0-maccatalyst16.1 is compatible. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows10.0.19041 is compatible. net8.0 is compatible. net8.0-android was computed. net8.0-android34.0 is compatible. net8.0-browser was computed. net8.0-ios was computed. net8.0-ios17.2 is compatible. net8.0-maccatalyst was computed. net8.0-maccatalyst17.2 is compatible. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows10.0.19041 is compatible. |
-
net7.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
-
net7.0-android33.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
-
net7.0-ios16.1
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
-
net7.0-maccatalyst16.1
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
-
net7.0-windows10.0.19041
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
-
net8.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-android34.0
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-ios17.2
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-maccatalyst17.2
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
-
net8.0-windows10.0.19041
- AathifMahir.Maui.MauiIcons.Core (>= 2.1.1)
- Microsoft.Maui.Controls (>= 8.0.3)
- Microsoft.Maui.Controls.Compatibility (>= 8.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v2.1.1
• Minor Patch on Issue #83
v2.1.0
• New FontAwesome Icons