如何使用 Xamarin 在 xaml 中创建自定义字体大小,以便您可以根据设备更改字体大小?

Posted

技术标签:

【中文标题】如何使用 Xamarin 在 xaml 中创建自定义字体大小,以便您可以根据设备更改字体大小?【英文标题】:How to create a custom font size in xaml using Xamarin, so that you can change font sizes depending on device? 【发布时间】:2020-04-24 02:55:04 【问题描述】:

是否有方法可以创建与 Xamarin 中已内置的 Micro、Small 或 Title 相同的自定义字体大小。我希望能够像下面这样使用它:

<Label Text="Test" FontSize="MyFontSize"/>

我认为它会在我的资源字典中实现类似于以下内容,但它不起作用:

<FontSize x:Key="MyFontSize">
    <OnPlatform x:TypeArguments="FontSize">
        <On Platform="UWP">25</On>
        <On Platform="ios">12</On>
    </OnPlatform>
</FontSize>

错误提示:

“找不到字体大小”

这不是运行时错误。它只是 XAML 编辑器中的绿色下划线。

可以吗?

【问题讨论】:

【参考方案1】:

您需要改用x:Double

<OnPlatform x:Key="MyFontSize" x:TypeArguments="x:Double">
    <On Platform="UWP">25</On>
    <On Platform="iOS">12</On>
</OnPlatform>

然后像这样引用资源:

<Label Text="Test" FontSize="StaticResource MyFontSize"/>

或者你可以直接在视图上指定:

<Label Text="Test">
   <Label.FontSize>
      <OnPlatform x:TypeArguments="x:Double">
          <On Platform="UWP">25</On>
          <On Platform="iOS">12</On>
      </OnPlatform>
   </Label.FontSize>
</Label>

【讨论】:

我应该把 放在哪里,因为它在我的资源字典中不起作用。它说 FontSize 没有找到 哦,对了!它不应该包含在 &lt;FontSize&gt; 标签中,它应该只是 OnPlatform - 我现在已经更新了答案 很高兴它有帮助! 由于您在该网站上享有很高的声誉,请您查看我原来的问题。如果它需要改进,那么请你建议如何改进它,如果没有,请你支持它。谢谢

以上是关于如何使用 Xamarin 在 xaml 中创建自定义字体大小,以便您可以根据设备更改字体大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 TypedRowControllerType 在 Eureka 4.3 中创建自定义演示者行?

如何在 Rider 中创建 XAML + CodeBehind 对?

xamarin 表单中的自动完成功能

如何使用Xamarin在Visual Studio中创建Android应用

以编程方式寻址在 xaml 中创建的画布

如何在 Xamarin 表单中创建半屏相机视图