导航栏在 Windows Phone 中与游戏 UI 重叠
Navbar overlaps game UI in Windows Phone
我有一款 WP8 游戏,在没有硬件按钮的 WP8.1 设备上突然出现问题:新导航栏与游戏重叠,但确定屏幕尺寸的所有方法 return 正确尺寸:480x800,尽管很明显它是以 480x854 分辨率绘制的。
我试过将 XAML 元素放在屏幕上并且它们被正确绘制(没有重叠),但它们没有帮助,因为它们的坐标无法帮助我确定屏幕是否有导航栏.
如何确定是否存在导航栏以及如何进行准确呈现?
我要求屏幕的物理方面,并根据物理方面和应用方面的差异添加了垂直比例因子:
Size screenSize = (Size)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("PhysicalScreenResolution");
double physicalAspect = screenSize.Height / screenSize.Width;
double appAspect = Application.Current.Host.Content.ActualHeight / Application.Current.Host.Content.ActualWidth;
double aspectDifference = appAspect / physicalAspect;
// Set window bounds in dips
m_d3dBackground.WindowBounds = new Windows.Foundation.Size(
(float)Application.Current.Host.Content.ActualWidth,
(float)Application.Current.Host.Content.ActualHeight * aspectDifference
);
我有一款 WP8 游戏,在没有硬件按钮的 WP8.1 设备上突然出现问题:新导航栏与游戏重叠,但确定屏幕尺寸的所有方法 return 正确尺寸:480x800,尽管很明显它是以 480x854 分辨率绘制的。
我试过将 XAML 元素放在屏幕上并且它们被正确绘制(没有重叠),但它们没有帮助,因为它们的坐标无法帮助我确定屏幕是否有导航栏.
如何确定是否存在导航栏以及如何进行准确呈现?
我要求屏幕的物理方面,并根据物理方面和应用方面的差异添加了垂直比例因子:
Size screenSize = (Size)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("PhysicalScreenResolution");
double physicalAspect = screenSize.Height / screenSize.Width;
double appAspect = Application.Current.Host.Content.ActualHeight / Application.Current.Host.Content.ActualWidth;
double aspectDifference = appAspect / physicalAspect;
// Set window bounds in dips
m_d3dBackground.WindowBounds = new Windows.Foundation.Size(
(float)Application.Current.Host.Content.ActualWidth,
(float)Application.Current.Host.Content.ActualHeight * aspectDifference
);