使用Xamarin Forms(2.3.1)和Prism(6.2)爲iOS和Android開發應用程序時,我們很難讓自定義字體在Android上工作,但iOS已經精細。用Xamarin Forms和Prism在Android上顯示的自定義字體
我們秉承the most recent documentation(即不使用自定義繪製),並似乎都在縮小到被涉及棱鏡......
爲了簡化問題,我們做了一個新的窗體應用程序,添加了龍蝦正規。從Xamarin demo到Android資產和iOS資源並確保其財產TTF分別爲AndroidAsset和BundleResource,然後在默認XAML頁面中加入:
<Label Text="Hello Forms with XAML">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.iOS>MarkerFelt-Thin</OnPlatform.iOS>
<OnPlatform.Android>Lobster-Regular.ttf#Lobster-Regular</OnPlatform.Android>
<OnPlatform.WinPhone></OnPlatform.WinPhone>
</OnPlatform>
</Label.FontFamily>
</Label>
(這也是直接從演示)
它適用於iOS和Android。
如果我們創建一個新的棱鏡統一的應用中添加的字體文件,檢查(其中默認正確)的屬性並插入MainPage.xaml中的iOS標籤將使用自定義字體,但Android將只使用標準字體。
有一個known issue with custom fonts in UWP and WP apps但這似乎沒有關係。
所有的測試都在iOS模擬器和Android模擬器上。
更新 按照丹S.的評論我已經上傳了一個項目,以顯示與iOS中,但沒有Android版的自定義字體最小的棱鏡的應用:基於解決方案,您sample project
你能提供一個展示問題的例子嗎?棱鏡不應該像顯示自定義字體那樣對這種或那種方式產生任何影響。 –
我已經上傳了一個項目來演示它,是的,我同意棱鏡不應該產生影響,但正如我所說,我試圖縮小它的範圍,這些步驟適用於非Prism應用程序和Prism應用程序iOS的工作原理並非Android ¯\ _(ツ)_ /¯ – Paddy