首页 > 解决方案 > 如何使用 UrhoSharp 在 Xamarin 中加载自定义字体?

问题描述

我正在尝试遵循Adam PedleyXamarin Forms 中的 UrhoSharp 简介中发布的示例,但遇到了问题。在以下代码块中,他正在加载自定义字体:

private void CreateText()
{
    // Create Text Element
    var text = new Text()
    {
        Value = "Hello World!",
        HorizontalAlignment = HorizontalAlignment.Center,
        VerticalAlignment = VerticalAlignment.Center
    };

    text.SetColor(Color.Cyan);
    text.SetFont(font: ResourceCache.GetFont("Fonts/Anonymous Pro.ttf"), size: 30);
    // Add to UI Root
    UI.Root.AddChild(text);
}

我遇到的问题是我没有这种字体,并且它不包含在任何类型的 Assets 文件夹中,也不包含在他的演示项目的 GitHub 存储库中,它位于adamped/UrhoSharp.Demo。事实上,尽管函数调用中提到了“Fonts”文件夹,但在任何项目的演示解决方案中都不存在 Fonts 文件夹。

尝试运行应用程序会导致单声道运行时错误“[ERROR] FATAL UNHANDLED EXCEPTION: System.Exception: could not find resource...”。

此外,似乎没有任何方法可以联系作者询问(我觉得这很令人沮丧),所以我不得不询问 Stack Overflow 社区:我在哪里以及如何在我的解决方案中放置自定义字体资产(他的解决方案)以便可以使用自定义字体?

我目前能够在标准标签中使用自定义字体,字体文件位于我的 Sample.Android 和 Sample.UWP 项目的 /Assets 文件夹中,但我在通话中没有尝试过路径或文件名的组合到 GetFont(...) 作品。

标签: xamarin.formsurhosharp

解决方案


经过数小时的搜索,我终于找到了一个屏幕截图,显示了可能遇到此问题的其他任何人的正确设置;

解决问题的图片


推荐阅读