如何使用设备运动插件通过 xamarin 获取磁力计值



我尝试获取由 xamarin 开发的交叉平台应用程序的磁场数据。我是移动开发的初学者,尤其是Xamarin。所以我有你好单词代码:

public App ()
        {
            // The root page of your application
                MainPage = new ContentPage {
            Content = new StackLayout {           
                    VerticalOptions = LayoutOptions.Center,
                    Children = {
                        new Label {
                          XAlign = TextAlignment.Center,
                         Text = "Welcome to Xamarin Forms!"
                        }
                    }
                }
            }; 

        }

我想在第一页显示磁力计的 3 个坐标值。

设备运动插件是一个多平台插件,我也有这个代码,但我不知道如何在应用程序中显示这些值。

        CrossDeviceMotion.Current.Start(MotionSensorType.Magnetometer);
        CrossDeviceMotion.Current.SensorValueChanged += (s, a) =>
        {
            switch (a.SensorType)
            {
                case MotionSensorType.Magnetometer:
                    Debug.WriteLine("A: {0},{1},{2}", ((MotionVector)a.Value).X, ((MotionVector)a.Value).Y, ((MotionVector)a.Value).Z);
                    break;
            }
        };

为了使其正常工作,您需要设置标签的 x:Name 属性。我一直在使用加速度计,所以我的名字是 accelerometerLog .

然后,您可以从代码中执行以下操作:

accelerometerLog.Text = String.Format(
    "X:{0} Y:{1} Z:{2}", 
    ((MotionVector)a.Value).X, 
    ((MotionVector)a.Value).Y, 
    ((MotionVector)a.Value).Z
);

相关内容

  • 没有找到相关文章

最新更新