原文:快速构建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风格应用10-设备方向的更多相关文章

  1. 快速构建Windows 8风格应用1-开发工具安装及模拟器使用

    原文:快速构建Windows 8风格应用1-开发工具安装及模拟器使用 本篇博文主要介绍的是开发Windows 8风格应用中常用的两个开发工具:Visual Studio 2012和Expression ...

  2. 快速构建Windows 8风格应用21-构建简单媒体播放器

    原文:快速构建Windows 8风格应用21-构建简单媒体播放器 本篇博文主要介绍如何构建一个简单的媒体播放器. <快速构建Windows 8风格应用20-MediaElement>博文中 ...

  3. 快速构建Windows 8风格应用16-SettingContract原理及构建

    原文:快速构建Windows 8风格应用16-SettingContract原理及构建 本篇博文主要介绍Setting Contract概述.Setting Contract实现基本原理.如何构建Se ...

  4. 快速构建Windows 8风格应用27-漫游应用数据

    原文:快速构建Windows 8风格应用27-漫游应用数据 本篇博文主要介绍漫游应用数据概览.如何构建漫游应用数据.构建漫游应用数据最佳实践. 一.漫游应用数据概览 1.若应用当中使用了漫游应用数据, ...

  5. 快速构建Windows 8风格应用9-竖直视图

    原文:快速构建Windows 8风格应用9-竖直视图 本篇博文主要介绍竖直视图概览.关于竖直视图设计.如何构建竖直视图 竖直视图概览 Windows 8为了支持旋转的设备提供了竖屏视图,我们开发的应用 ...

  6. 快速构建Windows 8风格应用7-页面视图概览

    原文:快速构建Windows 8风格应用7-页面视图概览 本篇博文主要介绍Windows 8风格应用中包含哪些视图.Visual Studio 2012和模拟器中如何开发和调试不同的页面视图.页面视图 ...

  7. 快速构建Windows 8风格应用8-贴靠视图

    原文:快速构建Windows 8风格应用8-贴靠视图 本篇博文主要介绍如何切换出贴靠视图.关于贴靠视图的设计.关于贴靠视图的应用程序栏和如何实现贴靠视图. 如何切换出贴靠视图 第一步:水平方向全屏视图 ...

  8. 快速构建Windows 8风格应用3-打包发布应用

    原文:快速构建Windows 8风格应用3-打包发布应用 本篇博文主要介绍如何打包应用程序,成功后如何部署应用程序,最后介绍如何发布应用程序到应用商店中. 如何打包Windows 8风格应用程序呢? ...

  9. 快速构建Windows 8风格应用2-创建调试应用

    原文:快速构建Windows 8风格应用2-创建调试应用 本篇博文主要介绍的是创建应用时可以选择哪些模版,生成默认的Windows 8风格应用解决方案中含哪些文件,最后是如何调试Windows 8风格 ...

随机推荐

  1. Codeforces Round #256 (Div. 2)——Multiplication Table

    题目链接 题意: n*m的一个乘法表,从小到大排序后,输出第k个数  (1 ≤ n, m ≤ 5·105; 1 ≤ k ≤ n·m) 分析: 对于k之前的数,排名小于k:k之后的数大于,那么就能够採用 ...

  2. ASP.NET5 Beta8

    ASP.NET5 Beta8 ASP.NET5 beta8现已上都的NuGet作为一个工具升级到Visual Studio2015!此版本极大地扩展.NET核心对OS X和Linux所支持的范围.您现 ...

  3. nginx+tomcat实现动静分离(转)

    本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 Nginx 并且在 B 上安装 Tomcat.配置 Nginx,当请求的是 ...

  4. Android视频通话Java代码

      近期学习Android平台下跨平台音视频通信开发,尽管网上有非常多开源项目供我们參考学习.但音视频效果非常一般,还有非常多不稳定的因素,毕竟是开源嘛.在国内我找到了一个比較好音视频通信解决方式(百 ...

  5. 【源代码】LinkedList源代码分析

    //----------------------------------------------------------- 转载请注明出处:http://blog.csdn.net/chdjj by ...

  6. Python脚本传參和Python中调用mysqldump

    Python脚本传參和Python中调用mysqldump<pre name="code" class="python">#coding=utf-8 ...

  7. 3.Swift翻译教程系列——Swift基础知识

    英语PDF下载链接http://download.csdn.net/detail/tsingheng/7480427 Swift是用来开发iOS和OS X应用的新语言,可是很多地方用起来跟C或者OC是 ...

  8. 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)

    原文:打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转] 有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的 ...

  9. net 试图加载格式不正确的程序。(Exception from HRESULT: 0x8007000B)

    原文:net 试图加载格式不正确的程序.(Exception from HRESULT: 0x8007000B) Server Error in '/' Application. 试图加载格式不正确的 ...

  10. UVALive 4730 Kingdom +段树和支票托收

    主题链接:点击打开链接 题意见白书P248 思路: 先把读入的y值都扩大2倍变成整数 然后离散化一下 用线段树来维护y轴 区间上每一个点的 城市数量和联通块数量. 然后用并查集维护每一个联通块及联通块 ...