Xamarin.Essentials:Giroskop
Kelas Giroskop memungkinkan Anda memantau sensor giroskop perangkat yang merupakan rotasi di sekitar tiga sumbu utama perangkat.
Memulai
Untuk mulai menggunakan API ini, baca panduan memulai untuk Xamarin.Essentials memastikan pustaka diinstal dan disiapkan dengan benar di proyek Anda.
Menggunakan Giroskop
Tambahkan referensi ke Xamarin.Essentials di kelas Anda:
using Xamarin.Essentials;
Fungsionalitas Giroskop berfungsi dengan memanggil Start
metode dan Stop
untuk mendengarkan perubahan pada giroskop. Setiap perubahan dikirim kembali melalui ReadingChanged
peristiwa dalam rad/s. Berikut adalah contoh penggunaan:
public class GyroscopeTest
{
// Set speed delay for monitoring changes.
SensorSpeed speed = SensorSpeed.UI;
public GyroscopeTest()
{
// Register for reading changes.
Gyroscope.ReadingChanged += Gyroscope_ReadingChanged;
}
void Gyroscope_ReadingChanged(object sender, GyroscopeChangedEventArgs e)
{
var data = e.Reading;
// Process Angular Velocity X, Y, and Z reported in rad/s
Console.WriteLine($"Reading: X: {data.AngularVelocity.X}, Y: {data.AngularVelocity.Y}, Z: {data.AngularVelocity.Z}");
}
public void ToggleGyroscope()
{
try
{
if (Gyroscope.IsMonitoring)
Gyroscope.Stop();
else
Gyroscope.Start(speed);
}
catch (FeatureNotSupportedException fnsEx)
{
// Feature not supported on device
}
catch (Exception ex)
{
// Other error has occurred.
}
}
}
Kecepatan Sensor
- Tercepat - Dapatkan data sensor secepat mungkin (tidak dijamin akan kembali pada utas UI).
- Game – Rate cocok untuk game (tidak dijamin akan kembali pada utas UI).
- Default – Laju default yang cocok untuk perubahan orientasi layar.
- UI – Laju yang cocok untuk antarmuka pengguna umum.
Jika penanganan aktivitas Anda tidak dijamin berjalan pada utas UI, dan jika penanganan aktivitas perlu mengakses elemen antarmuka pengguna, gunakan MainThread.BeginInvokeOnMainThread
metode untuk menjalankan kode tersebut pada utas UI.