简单的方向传感器SimpleOrientationSensor
SimpleOrientationSensor是一个简单的方向传感器。能够识别手机如下表的6种方向信息:
| SimpleOrientation枚举变量 | 方向 |
| NotRotated | 设备未旋转 |
| Rotated90DegreesCounterclockwise | 逆时针旋转 90 度 |
| Rotated180DegreesCounterclockwise | 逆时针旋转 180 度 |
| Rotated270DegreesCounterclockwise | 逆时针旋转 270 度 |
| Faceup | 将设备面朝上 |
| Facedown | 将设备面朝下 |
下面我们就来实现是否开打方向处理器并在各个不同状态下进行处理。
(一般的,我都是会将很多代码写在主函数里面,导致代码太臃肿,维护性差,现在我们将它封装起来吧。)
MainPage.xaml.cs:
<ToggleSwitch x:Name="toggleSwitch" Header="方向传感器" IsOn="{Binding IsOpen, Mode=TwoWay}"/>
OrtSensors.cs类:
/// <summary>
/// 自定义一个方向传感器类
/// </summary>
public class OrtSensors
{
public static SimpleOrientationSensor SimpleOrtSensor = SimpleOrientationSensor.GetDefault();//简单方向传感器 private bool isOpen; //是否打开 public bool IsOpen
{
set
{
if (value)
{
SimpleOrtSensor.OrientationChanged += SimpleOrtSensor_OrientationChanged;
}
else if (!value)
{
SimpleOrtSensor.OrientationChanged -= SimpleOrtSensor_OrientationChanged;
}
isOpen = value;
}
get
{
return isOpen;
}
} void SimpleOrtSensor_OrientationChanged(SimpleOrientationSensor sender,
SimpleOrientationSensorOrientationChangedEventArgs args)
{
switch (args.Orientation)
{
case SimpleOrientation.NotRotated:
Debug.WriteLine(args.Orientation.ToString()); //设备未旋转
break;
case SimpleOrientation.Rotated180DegreesCounterclockwise:
Debug.WriteLine(args.Orientation.ToString()); //逆时针180
break;
case SimpleOrientation.Rotated270DegreesCounterclockwise:
Debug.WriteLine(args.Orientation.ToString()); //逆时针270
break;
case SimpleOrientation.Rotated90DegreesCounterclockwise:
Debug.WriteLine(args.Orientation.ToString()); //逆时针90
break;
case SimpleOrientation.Facedown:
Debug.WriteLine(args.Orientation.ToString()); //面朝下
break;
case SimpleOrientation.Faceup:
Debug.WriteLine(args.Orientation.ToString()); //面朝上
break;
default:
break;
}
}
}
MainPage.cs:
//实例化并且设置绑定源
OrtSensors sensor = new OrtSensors();
public MainPage()
{
this.InitializeComponent(); this.NavigationCacheMode = NavigationCacheMode.Required;
toggleSwitch.DataContext = sensor;
}
简单的方向传感器SimpleOrientationSensor的更多相关文章
- UWP开发中的方向传感器
在UWP开发中,我们能使用的到方向有三种: OrientationSensor下的四元数:Compass罗盘的HeadingMagneticNorth:以及SimpleOrientationSenso ...
- Android 百度地图 SDK v3.0.0 (二) 定位与结合方向传感器
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37730469 在上一篇博客中,我们成功把地图导入了我们的项目.本篇我们准备为地图 ...
- web端手机方向传感器闲谈
因为工作需要,这段时间接触的手机传感器比较多.总体来说,市场上的传感器表现参差不齐.IPhone在传感器表现方面卓越,而安卓由于什么机型都有,则显得差强人意. 首先还是说说怎么在web端调用手机传感器 ...
- 修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题
问题:XE8 for Android 方向传感器无法正常运作(在 XE7 是正常的) 测试:官方示例 Samples\Object Pascal\Mobile Snippets\Orientation ...
- Android实例-OrientationSensor方向传感器(XE8+小米2)
相关资料: <修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题>:http://www.cnblogs.com/onechen/p/4497282. ...
- Android 方向传感器
一般情况下,在Android系统中获取手机的方位信息在api中有TYPE_ORIENTATION常量,可以像得到加速度传感器那样得到方向传感器sm.getDefaultSensor(Sensor.TY ...
- Android利用方向传感器获得手机的相对角度实例说明
http://www.jb51.net/article/37710.htm 1.android 的坐标系是如何定义x, y z 轴的 x轴的方向是沿着屏幕的水平方向从左向右,如果手机不是正方形的话,较 ...
- 关于android方向传感器的使用
Android2.2以后 orientation sensors 就被deprecated了 官方建议用acceleration and magnetic sensor 来算 关于这个问题,CSDN上 ...
- Android百度地图(二)结合方向传感器我们自己定位哪里走
Android百度地图(二)结合方向传感器我们自己定位哪里走 本文代码在http://blog.csdn.net/xyzz609/article/details/51943556的基础上进一步改动.有 ...
随机推荐
- Win10 通过升级安装完成后出现了中文字体忽大忽小的问题解决。
解决方法: 下载Win10的中文语言包.
- phpqrcode 生成二维码
这个项目需要根据信息来自动生成二维码,到网上搜了下,发现php有生成二维码的类库phpqrcode,所以打算就用这个来生成二维码 从官网下载类库源码http://sourceforge.net/pro ...
- 怎样用ZBrush对模型进行渲染
关于如何使用ZBrush®3D图形绘制软件雕刻僵尸模型,Fisker老师用了6个章节共41课时,从人体躯干和骨骼雕刻,到衣服.鞋子制作,再到顶点着色,向大家一一展示了雕刻过程,其中分享了很多ZBrus ...
- svm使用的一般步骤
LIBSVM 使用的一般步骤是:1)准备数据集,转化为 LIBSVM支持的数据格式 :[label] [index1]:[value1] [index2]:[value2] ...即 [l类别标号] ...
- [excel玩转表格教程][1G][AVI]
[excel玩转表格教程][1G][AVI] 下载地址 :http://www.fu83.cn/thread-222-1-1.html
- 第7章 权限管理(1)_ACL权限
1. ACL权限 1.1 ACL权限简介与开启 (1)ACL权限简介 ①ACL是Access Control List的缩写,主要目的是在提供传统的owner,group,others的read,wr ...
- apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for
apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for 在RedHat Linux 5 与 CentOS 5服务器上配置好apache后,启动或 ...
- 在iOS APP中使用H5显示百度地图时如何支持HTTPS?
现象: 公司正在开发一个iOSAPP,使用h5显示百度地图,但是发现同样的H5页面,在安卓可以显示出来,在iOS中就显示不出来. 原因分析: 但是现在iOS开发中,苹果已经要求在APP中的所有对外连接 ...
- win7 cmd 操作mysql数据库
一 ,对MySql服务器的开启,重启,关闭等操作 当然,可以在win7的界面环境下,关闭或开启MySql服务.但是经常找不到win7的服务管理器,主要定位方法有二:命令行下输入servic ...
- CSS基本知识5-CSS对齐
要对齐的关键,在于理解块,行的概念,块的对齐主要靠自动计算定位,比如margin:auto,及浮动,所以最好的办法是尽量使用行来对齐. 实例: .box { border: 1px solid #80 ...