如何在项目中使用 Font Awesome 图标作为 ImageButton 的图标
Posted
技术标签:
【中文标题】如何在项目中使用 Font Awesome 图标作为 ImageButton 的图标【英文标题】:How to use Font Awesome icons in project as an icon of ImageButton 【发布时间】:2021-03-13 15:33:11 【问题描述】:我在实现如何在我的 Xamarin 应用程序中使用 Font Awesome 图标时遇到问题,我想将它与 ImageButton
as 图标一起使用。而且我发现的大多数教程都无法帮助我理解它是如何工作的。
【问题讨论】:
您遇到了什么具体问题? 如何实现和使用字体真棒图标 【参考方案1】:如Microsoft Documentation中所述:
-
您需要首先拥有我认为
.ttf
(或.otf)的字体文件。
将其添加到您的共享项目中。
右键单击该文件并单击“属性”,然后将其构建操作设置为Embedded Resource。
在您的AssemblyInfo.cs
或App.xaml.cs
中使用友好别名导出它:
[assembly: ExportFont("file-name.ttf", Alias = "FontAwesome")]
-
消费它:
<Label FontFamily="FontAwesome" Text=""/>
有关图标代码列表,请查看FontAwesome codes。
如果您想将其与按钮等点击功能一起使用,则可以使用带有GestureRecognizers 的标签:
<Label FontFamily="FontAwesome" Text="">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
</Label.GestureRecognizers>
</Label>
更新
更好地使用ImageButton
和FontImageSource
属性而不是标签,您还具有按钮的单击功能,我还发现有趣的是您可以更改字形图标的颜色,天气硬编码或动态取决于在selected theme,这里有一个例子:
<ImageButton>
<ImageButton.Source>
<FontImageSource FontFamily="FontAwesome"
Glyph="x:Static fonts:IconFont.AddressBook"
Color="AppThemeBinding Dark=White,
Light=Black"/>
</ImageButton.Source>
</ImageButton>
您还可以定义一个具有const string
属性的静态类,每个属性都具有与图标字形相对应的代码作为值,并作为名称描述它,这样您只需提供描述而不是类似的代码我用Glyph="x:Static fonts:IconFont.AddressBook"
做了,它看起来像这样:
static class IconFont
public const string Ad = "\uf641";
public const string AddressBook = "\uf2b9";
...
我邀请您关注此video tutorial 并查看this GitHub Page,它会从您提交的字体字形文件开始为您生成静态 c# 类。
【讨论】:
如果我想将它用作 ImageButton 中的图标怎么办? 任何其他使用方式,例如在标签或 etec 中。看起来像按钮(可点击) 是的,用 GestureRecognizers 检查我的更新 很高兴知道:)以上是关于如何在项目中使用 Font Awesome 图标作为 ImageButton 的图标的主要内容,如果未能解决你的问题,请参考以下文章