Xamarin'in Creating a Gesture Listener için dokümanları olduğunu ancak cihazın sadece 'sallanmasını' ekranda 'sallayarak' hakkında hiçbir şey olmadığını görüyorum. Android için Xamarin sallantı hareketlerini dinleyebilir mi merak ediyorum? Herhangi biri bilen var mı, var mı? Şimdiden teşekkür ederim.Xamarin Android'de sarsıntı hızölçerini kullanabilir mi?
cevap
Bir titreme hareketini algılamak için Android.Hardware.ISensorEventListener
'u kullanan tam bir örnek. Bunu, kendi projelerinize herhangi bir güçlük çekmeden bırakabilmelisiniz.
[Activity (Label = "ShakeDetection", MainLauncher = true)]
public class MainActivity : Activity, Android.Hardware.ISensorEventListener
{
bool hasUpdated = false;
DateTime lastUpdate;
float last_x = 0.0f;
float last_y = 0.0f;
float last_z = 0.0f;
const int ShakeDetectionTimeLapse = 250;
const double ShakeThreshold = 800;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
// Register this as a listener with the underlying service.
var sensorManager = GetSystemService (SensorService) as Android.Hardware.SensorManager;
var sensor = sensorManager.GetDefaultSensor (Android.Hardware.SensorType.Accelerometer);
sensorManager.RegisterListener(this, sensor, Android.Hardware.SensorDelay.Game);
}
#region Android.Hardware.ISensorEventListener implementation
public void OnAccuracyChanged (Android.Hardware.Sensor sensor, Android.Hardware.SensorStatus accuracy)
{
}
public void OnSensorChanged (Android.Hardware.SensorEvent e)
{
if (e.Sensor.Type == Android.Hardware.SensorType.Accelerometer)
{
float x = e.Values[0];
float y = e.Values[1];
float z = e.Values[2];
DateTime curTime = System.DateTime.Now;
if (hasUpdated == false)
{
hasUpdated = true;
lastUpdate = curTime;
last_x = x;
last_y = y;
last_z = z;
}
else
{
if ((curTime - lastUpdate).TotalMilliseconds > ShakeDetectionTimeLapse) {
float diffTime = (float)(curTime - lastUpdate).TotalMilliseconds;
lastUpdate = curTime;
float total = x + y + z - last_x - last_y - last_z;
float speed = Math.Abs(total)/diffTime * 10000;
if (speed > ShakeThreshold) {
Toast.MakeText(this, "shake detected w/ speed: " + speed, ToastLength.Short).Show();
}
last_x = x;
last_y = y;
last_z = z;
}
}
}
}
#endregion
}
üzerinde aktivite Android.Hardware.ISensorEventListener
arabirimi uygulayan ve SensorManager
içinden kaydeder. Gerçek sensör olayları (sarsıntı vb.) OnSensorChanged
; Bu, sarsıntı tespit kodumuz için mantığı tuttuğumuz yerdir.
Bu cevabı this one numaralı telefondan aldım ancak üzerinde birkaç değişiklik yaptım. Öncelikle, bu cevap ISensorListener yerine API1 düzeyindeki kullanımdan kaldırılmış ISensorEventListener kullanır. Ve (hasUpdated
aracılığıyla) başlangıç hareketi algılama ve sarsıntı duyarlılığını kontrol etmek için bazı değişkenler bulacaksınız. ShakeDetectionTimeLapse
ve ShakeDetectionThreshold
ile oynayarak, bunları ihtiyaçlarınıza göre ayarlayabilmeniz gerekir.
Bkz:
- 1. Sarsıntı olayı çeşitli aygıtlarda farklı çalışır Sarsıntı Olayı özel uygulaması
- 2. sarsıntı - Permütasyon dönüşümü
- 3. androidde openssl nasıl kurulur
- 4. HTA'lar HTML5 IndexedDB kullanabilir mi?
- 5. JAXB java.time nesnelerini kullanabilir mi?
- 6. Maven özel niteleyicileri kullanabilir mi?
- 7. Javascript. IPhone sarsıntı olayını dinle?
- 8. androidde greyview için özel adaptör
- 9. androidde shift-jis kodunu çözme
- 10. CoreMotion Bump vs. iPhone üzerinde Sarsıntı
- 11. xamarin
- 12. Xamarin
- 13. Xamarin
- 14. Xamarin
- 15. Phonegap/cordova yerel GUI kullanabilir mi?
- 16. XNA Oyun WP7 için IsolatedStorageSettings kullanabilir mi?
- 17. Android Studio, sistemi CMake kullanabilir mi?
- 18. iPhone Web Uygulaması kamerayı kullanabilir mi?
- 19. Scikit-öğrenmede DBSCAN seyrek matris kullanabilir mi?
- 20. Bir x64 uygulaması x86 montajlarını kullanabilir mi?
- 21. Sarsıntı: dosya adı bilinmiyorsa nasıl devam edilir
- 22. Uygulama boyutlarını bilirken androidde özel görünümler ekleme
- 23. Tepki yerli androidde Coach işareti nasıl uygulanır?
- 24. Xamarin ios
- 25. Xamarin Uyumsuz hedef çerçeve hatası - NuGet bana yardımcı olabilir mi?
- 26. Xamarin Studio hedefleri oluşturmak? Fody çalışmayı denemeye mi çalışıyor?
- 27. Xamarin: Visual Studio'da Xamarin Android'de nasıl hata ayıklanır?
- 28. Calabash xamarin
- 29. Xamarin formlar,
- 30. Xamarin MasterPage Concept
Bu denemeye & size bildiririz. çok teşekkür ederim :) –