快速构建Windows 8风格应用10-设备方向

简介:

本篇博文主要介绍常用支持Windows 8操作系统设备的方向、如何获取当前设备方向、DisplayProperties类

常用支持Windows 8 操作系统设备的方向
在我们常用的设备当中,Windows 8是通过什么来监控设备方向呢?答案是 方向传感器,那么对于设备的不同方向,方向传感器都对应哪些方向值呢?如下表:
我们可以从表中知道:
1) 设备方向为水平方向向上(Portrait Up 时,对应传感器值为NotRotated (未发生旋转)
我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
2) 设备方向为 竖直方向向左( Landscape Left 时,对应传感器值为 Rotated90DegreesCounterclockwise (旋转90 度);我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
3) 设备方向为 水平方向向下( Portrait Down 时,对应传感器值为 Rotated180DegreesCounterclockwise (旋转180 度),我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
4) 设备方向为 竖直方向向右( Landscape Right 时,对应传感器值为 Rotated270DegreesCounterclockwise (旋转270 度);我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
5) 设备方向为 正面朝上( Face Up 时,对应传感器值为 Faceup
6) 设备方向为 正面朝下( Face Down 时,对应传感器值为 Facedown
 
如何获取当前设备方向值
我们如何在代码中获取这么设备方向值呢?
第一步:初始化SimpleOrientationSensor传感器对象。
第二步:注册传感器OrientationChanged事件。
第三步:在 OrientationChanged事件方法中通过e. Orientation属性得到方向值。
具体代码可如下:  
代码中DisplayOrientation方法如下:
假如我们使用XAML+C#来编写一个游戏类应用,就可以通过监控设备放向值的改变来控制游戏人物的不同状态了。
 
DisplayProperties
微软为开发者提供了一个非常重要的类: DisplayProperties。我们获取设备方向值的代码都是通过该类来实现的。
那么DisplayProperties类包含哪些重要事件和属性呢?
1) OrientationChanged事件:当方向变更时该事件被触发;
2) CurrentOrientation属性:该属性为只读属性,获取当前设备的方向;
3) NativeOrientation属性:该属性为只读属性,获取设备默认支持的方向,包含两个值:Landscape和Portrait;
4) AutoRotationPreferences属性:该属性为可读写属性,通过该属性可以读取或设置我们应用的首选方向。 注意:模拟器中无法支持该属性的设置。






本篇博文主要介绍常用支持Windows 8操作系统设备的方向、如何获取当前设备方向、DisplayProperties类

常用支持Windows 8 操作系统设备的方向
在我们常用的设备当中,Windows 8是通过什么来监控设备方向呢?答案是 方向传感器,那么对于设备的不同方向,方向传感器都对应哪些方向值呢?如下表:
我们可以从表中知道:
1) 设备方向为水平方向向上(Portrait Up 时,对应传感器值为NotRotated (未发生旋转)
我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
2) 设备方向为 竖直方向向左( Landscape Left 时,对应传感器值为 Rotated90DegreesCounterclockwise (旋转90 度);我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
3) 设备方向为 水平方向向下( Portrait Down 时,对应传感器值为 Rotated180DegreesCounterclockwise (旋转180 度),我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
4) 设备方向为 竖直方向向右( Landscape Right 时,对应传感器值为 Rotated270DegreesCounterclockwise (旋转270 度);我们可以通过对比设备中 Windows 按钮的位置来识别不同方向,如下图所示:
5) 设备方向为 正面朝上( Face Up 时,对应传感器值为 Faceup
6) 设备方向为 正面朝下( Face Down 时,对应传感器值为 Facedown
 
如何获取当前设备方向值
我们如何在代码中获取这么设备方向值呢?
第一步:初始化SimpleOrientationSensor传感器对象。
第二步:注册传感器OrientationChanged事件。
第三步:在 OrientationChanged事件方法中通过e. Orientation属性得到方向值。
具体代码可如下:  
代码中DisplayOrientation方法如下:
假如我们使用XAML+C#来编写一个游戏类应用,就可以通过监控设备放向值的改变来控制游戏人物的不同状态了。
 
DisplayProperties
微软为开发者提供了一个非常重要的类: DisplayProperties。我们获取设备方向值的代码都是通过该类来实现的。
那么DisplayProperties类包含哪些重要事件和属性呢?
1) OrientationChanged事件:当方向变更时该事件被触发;
2) CurrentOrientation属性:该属性为只读属性,获取当前设备的方向;
3) NativeOrientation属性:该属性为只读属性,获取设备默认支持的方向,包含两个值:Landscape和Portrait;
4) AutoRotationPreferences属性:该属性为可读写属性,通过该属性可以读取或设置我们应用的首选方向。 注意:模拟器中无法支持该属性的设置。





 本文转自 王祖康 51CTO博客,原文链接: http://blog.51cto.com/wzk89/1005930
,如需转载请自行联系原作者
相关文章
|
10月前
|
运维 安全 网络安全
Windows Server 2019拨号“找不到设备”?Error 1058解决指南
Windows Server 2019拨号报错1058?别急!这不是硬件故障,而是关键服务被禁用。通过“服务依存关系”排查,依次启动“安全套接字隧道协议”“远程接入连接管理”和“路由与远程访问”服务,仅需4步即可恢复PPPoE或VPN拨号功能,轻松解决网络中断问题。
713 1
|
9月前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
331 11
|
10月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
273 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
安全 Ubuntu Linux
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
627 0
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
|
XML 安全 网络安全
Nipper 3.7.0 Windows x64 - 网络设备漏洞评估
Nipper 3.7.0 Windows x64 - 网络设备漏洞评估
311 0
Nipper 3.7.0 Windows x64 - 网络设备漏洞评估
|
安全 前端开发 Windows
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
本文介绍了 Electron 应用在 Windows 中的更新原理,重点分析了 `NsisUpdater` 类的实现。该类利用 NSIS 脚本,通过初始化、检查更新、下载更新、验证签名和安装更新等步骤,确保应用的更新过程安全可靠。核心功能包括差异下载、签名验证和管理员权限处理,确保更新高效且安全。
688 4
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
561 1
|
XML 缓存 前端开发
Electron-builder 是如何打包 Windows 应用的?
本文首发于微信公众号“前端徐徐”,作者徐徐深入解析了 electron-builder 在 Windows 平台上的打包流程。文章详细介绍了 `winPackager.ts`、`AppxTarget.ts`、`MsiTarget.ts` 和 `NsisTarget.ts` 等核心文件,涵盖了目标创建、图标处理、代码签名、资源编辑、应用签名、性能优化等内容,并分别讲解了 AppX/MSIX、MSI 和 NSIS 安装程序的生成过程。通过这些内容,读者可以更好地理解和使用 electron-builder 进行 Windows 应用的打包和发布。
1419 0
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
433 0

热门文章

最新文章