我们如何在Xamarin表单中像这样在bootstrap中做出响应的字体大小?如果是较小的设备,则显示小字体,如果是较大设备,则显示大字体。是否有任何NuGet包或工作源?
krugob8w1#
你不需要任何软件包。这个功能内置在Xamarin. Forms中。根据Xamarin的字体大小文档:大小值以与设备无关的单位度量。有关详细信息,请参阅度量单位如果你打开Units of measurement链接,你会看到:Xamarin.Forms使用独立于平台的测量单位,该单位跨设备和平台进行标准化。Xamarin. Forms中每英寸有160个单位,或每厘米有64个单位。此外,如果你浏览一下已经预定义的命名字体大小,你会发现每个内置大小都有一些差异。这正是幕后发生的事情- Xamarin正在相应地“缩放”字体大小,考虑到设备的尺寸。
Units of measurement
s6fujrry2#
你不需要任何NuGet包。如果你想为手机和标签设置不同的大小,你可以这样做。
<Label Text = "Hello" FontSize = "{OnIdiom Phone = 20 Tablet = 72}" />
Xamarin缩放字体大小,因为单位与设备无关。
vshtjzan3#
根据我的经验,我不相信目前有一种方法可以在Xamarin中原生地进行真正的响应式设计。希望Maui能够改进这一点,但我们必须拭目以待。问题是:
我发现的唯一一个接近你要找的东西是carolzbnbr'sOnScreenSize markup extension,它在NuGet上的名称是“OnScreenSizeMarkup.Forms”或“OnScreenSizeMarkup.Maui”。carolzbnbr写了一篇关于它的博客文章,名为“Adaptive layouts for different device sizes in Xamarin apps“该扩展将屏幕大小分类为基于尺寸的命名大小(使用Xamarin.Essentials),然后添加基于这些大小指定唯一值的功能,如下所示:
<Label Text="Sample Text" FontSize="{markups:OnScreenSize DefaultSize=Large, Medium=Large, Large=50, ExtraLarge=70}" />
我还应该提到的是,你并不局限于在FontSize中使用它。你可以在很多地方使用它,甚至可以使用单引号来调整左/上/右/下的值:
<label Margin="{markups:OnScreenSize DefaultSize='20,60,20,20', ExtraLarge='40'}" />
3条答案
按热度按时间krugob8w1#
你不需要任何软件包。这个功能内置在Xamarin. Forms中。
根据Xamarin的字体大小文档:
大小值以与设备无关的单位度量。有关详细信息,请参阅度量单位
如果你打开
Units of measurement
链接,你会看到:Xamarin.Forms使用独立于平台的测量单位,该单位跨设备和平台进行标准化。Xamarin. Forms中每英寸有160个单位,或每厘米有64个单位。
此外,如果你浏览一下已经预定义的命名字体大小,你会发现每个内置大小都有一些差异。这正是幕后发生的事情- Xamarin正在相应地“缩放”字体大小,考虑到设备的尺寸。
s6fujrry2#
你不需要任何NuGet包。如果你想为手机和标签设置不同的大小,你可以这样做。
Xamarin缩放字体大小,因为单位与设备无关。
vshtjzan3#
根据我的经验,我不相信目前有一种方法可以在Xamarin中原生地进行真正的响应式设计。希望Maui能够改进这一点,但我们必须拭目以待。问题是:
我发现的唯一一个接近你要找的东西是carolzbnbr'sOnScreenSize markup extension,它在NuGet上的名称是“OnScreenSizeMarkup.Forms”或“OnScreenSizeMarkup.Maui”。
carolzbnbr写了一篇关于它的博客文章,名为“Adaptive layouts for different device sizes in Xamarin apps“
该扩展将屏幕大小分类为基于尺寸的命名大小(使用Xamarin.Essentials),然后添加基于这些大小指定唯一值的功能,如下所示:
我还应该提到的是,你并不局限于在FontSize中使用它。你可以在很多地方使用它,甚至可以使用单引号来调整左/上/右/下的值: