ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Windows Phone开发 >> 简单的方向传感器SimpleOrientationSensor

简单的方向传感器SimpleOrientationSensor

来源:网络整理     时间:2014-12-01     关键词:

本篇文章主要介绍了"简单的方向传感器SimpleOrientationSensor",对于Windows Phone开发感兴趣的同学可以参考一下: SimpleOrientationSensor是一个简单的方向传感器。能够识别手机如下表的6种方向信息:SimpleOrientation枚举变量方向NotRo...

SimpleOrientationSensor是一个简单的方向传感器。能够识别手机如下表的6种方向信息:

SimpleOrientation枚举变量 方向
NotRotated 设备未旋转
Rotated90DegreesCounterclockwise 逆时针旋转 90 度
Rotated180DegreesCounterclockwise 逆时针旋转 180 度
Rotated270DegreesCounterclockwise 逆时针旋转 270 度
Faceup 将设备面朝上
Facedown 将设备面朝下

 下面我们就来实现是否开打方向处理器并在各个不同状态下进行处理。

(一般的,我都是会将很多代码写在主函数里面,导致代码太臃肿,维护性差,现在我们将它封装起来吧。)

MainPage.xaml.cs:

        "toggleSwitch" Header="方向传感器" IsOn="{Binding IsOpen, Mode=TwoWay}"/>

OrtSensors.cs类:

   /// 
    /// 自定义一个方向传感器类
    /// 
    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,包括了方面的内容,希望对Windows Phone开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_96345.html

相关图片

相关文章