Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin 根据需要转换字体大小_Xamarin_Xamarin.forms - Fatal编程技术网

Xamarin 根据需要转换字体大小

Xamarin 根据需要转换字体大小,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我有一个自定义的Xamarin.Forms.Label,并将FontSize设置为18。正确理解,该单元为DiP(设备独立像素)。 在我的ios自定义呈现程序中,此自定义标签是带有UIFont的UILabel。此uifont具有一个点大小,该值也为18。在我的自定义渲染器中,我调整标签的大小,PointSize可能会变成不同的值。15例如。 现在,我需要在共享项目中使用UIFont.PointSize的新值(15)。 问题是:UIFont.PointSize单位是否与Label.FontSize

我有一个自定义的
Xamarin.Forms.Label
,并将
FontSize
设置为18。正确理解,该单元为DiP(设备独立像素)。
在我的ios自定义呈现程序中,此自定义标签是带有
UIFont
UILabel
。此uifont具有一个
点大小
,该值也为18。在我的自定义渲染器中,我调整标签的大小,
PointSize
可能会变成不同的值。15例如。
现在,我需要在共享项目中使用
UIFont.PointSize
的新值(15)。
问题是:
UIFont.PointSize
单位是否与
Label.FontSize
单位不同?所以我需要转换?在我的测试中,单位看起来是一样的,但我不确定。

谢谢

是的,它们是不同的单元

pt

点-1/72英寸,基于屏幕的物理尺寸

dp或dip

密度无关像素-基于屏幕物理密度的抽象单位。这些单位相对于160 dpi屏幕,因此一个dp是160 dpi屏幕上的一个像素。dp与像素的比率将随屏幕密度而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,尽管“dp”与“sp”更为一致


还有更多信息

iOS使用积分。在视网膜设备中,1点等于4个像素。在非视网膜设备中,1个点等于1个像素。谢谢。我知道,但我不明白为什么Label.FontSize(DiP)和UIFont.PointSize(Points)是相同的值。18在我的例子中。