回答

1

在Android上,這是一個有點麻煩使用FontAwesome。 post後面的代碼是關於如何以最簡單的方式使用Font Awesome。這與使用標籤設置一樣簡單。

我們使用自定義渲染器來查看相關標籤,確定文本字段中是否有一個字符,以及該字符的值是否爲0xf000或更高。如果是這樣,我們用FontAwesome替換字體。

由於圖標都開始在0xf000或更高,自定義渲染器將確保正確的字體使用

Reference article

[assembly: ExportRenderer(typeof(Label), typeof(AwesomeRenderer))] 

namespace Awesome.Droid 
{ 
    public class AwesomeRenderer : LabelRenderer 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<Label> e) 
     { 
      base.OnElementChanged(e); 

      var label = (TextView)Control; 

      var text = label.Text; 
      if(text.Length > 1 || text[0] < 0xf000) 
      { 
       return; 
      } 

      var font = Typeface.CreateFromAsset(Xamarin.Forms.Forms.Context.ApplicationContext.Assets, "fontawesome.ttf"); 
      label.Typeface = font; 
     } 
    } 
} 
+0

謝謝!有用!希望它不需要UWP上的渲染器。很快,我將不得不在iOS上部署它,也許你知道iOS是否也需要自定義視圖渲染器? –

相關問題