【问题标题】:How to create a custom font size in xaml using Xamarin, so that you can change font sizes depending on device?如何使用 Xamarin 在 xaml 中创建自定义字体大小,以便您可以根据设备更改字体大小?
【发布时间】: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 编辑器中的绿色下划线。

可以吗?

【问题讨论】:

    标签: c# xaml xamarin uwp cross-platform


    【解决方案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 - 我现在已经更新了答案
    • 很高兴它有帮助!
    • 由于您在该网站上享有很高的声誉,请您查看我原来的问题。如果它需要改进,那么请你建议如何改进它,如果没有,请你支持它。谢谢
    猜你喜欢
    • 2020-08-21
    • 2018-12-27
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 2012-01-22
    • 2023-03-11
    相关资源
    最近更新 更多