• 快速构建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属性:该属性为可读写属性,通过该属性可以读取或设置我们应用的首选方向。注意:模拟器中无法支持该属性的设置。

  • 相关阅读:
    C#控件刷新
    [转载] 尺度不变特征变换匹配算法
    C++ windows 多线程 互斥锁
    堆栈内存申请,以及32位程序内存上限
    dumpbin检查Dll
    CV_Assert
    Linux复习
    操作系统复习
    P/NP问题
    程序
  • 原文地址:https://www.cnblogs.com/wzk89/p/2701186.html
Copyright © 2020-2023  润新知