我有一个字体大小为14的文本
在较小的屏幕上,它是可见的,但在较大的屏幕上,它变得更小
我该如何处理?
在Android上我们有SP
根据屏幕调整字体大小
在Windows 8中有类似的东西吗?
答案 0 :(得分:1)
我假设您正在使用XAML?
所以,你应该从这样的事情开始:
<Page.Resources>
<x:Double x:Key="MyFontSize" />
<Style TargetType="TextBlock" x:Name="StandardText">
<Setter Property="FontSize" Value="{StaticResource MyFontSize}" />
</Style>
</Page.Resources>
<TextBlock Style="{StaticResource StandardText}">Hello World</TextBlock>
然后在你的代码背后有这样的东西:
Double _FontSize;
if (Windows.UI.ViewManagement.ApplicationView.Value
== Windows.UI.ViewManagement.ApplicationViewState.FullScreenPortrait)
{
// based on portrait
if (this.RenderSize.Height > 2000)
_FontSize = 30;
if (this.RenderSize.Height > 1000)
_FontSize = 20;
else
_FontSize = 10;
}
else
{
// based on landscape
if (this.RenderSize.Height > 1500)
_FontSize = 30;
if (this.RenderSize.Height > 1000)
_FontSize = 20;
else
_FontSize = 10;
}
this.Resources["MyFontSize"] = _FontSize;
除非用户更换您的监视器,否则无论您在应用程序加载时检测到什么都将保持不变!
答案 1 :(得分:1)
我正在研究这个问题。 我开始了解两件不同的事情。 一个是View Box,另一个是逻辑DPI。