【问题标题】:How can I detect rotation of Windows Phone 8 without using page orientation?如何在不使用页面方向的情况下检测 Windows Phone 8 的旋转?
【发布时间】:2014-02-14 09:01:28
【问题描述】:

当 Windows Phone 设备旋转到横向时,页面方向告诉我使用带有枚举的事件。但是,我试图检测横向而不实际允许页面改变方向。

那么,由于纵向是页面上唯一支持的方向,我如何使用传感器检测到相同的移动?我应该寻找什么价值观?

【问题讨论】:

    标签: windows-phone-8


    【解决方案1】:

    可能使用加速度计计算角度,然后您可以根据角度值确定手机是处于横向模式还是纵向模式。以下 sn-p 未经测试,到目前为止我还没有玩过加速度计,只是为了给出一个开始的想法:

    private Accelerometer _accel = new Accelerometer();
    
    public MainPage()
    {
        InitializeComponent();
        _accel.ReadingChanged += (s, e) => Dispatcher.BeginInvoke(() =>
                                {
                                    var angle = Math.Atan2(-x,y) * 180.0 / Math.PI;
                                    .....
                                });
        _accel.Start();
    }
    

    参考资料:

    【讨论】:

    • 我还是不明白该怎么办。我们有 Motion API,它为我们提供加速度、姿态(俯仰、滚动、偏航)等。但我不知道如何利用这些信息。
    • +1, @Laith - 比较手机相对于重力的位置。手机具有三个加速度计,您可以将它们用于此目的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多