2014-02-11 103 views
2

我試圖根據用戶傾斜設備來進行ImageView移動。 我仍然在學習Android開發,所以我對傳感器知之甚少。 我試過使用這個,但我不確定後來該做什麼,但我猜測我在正確的軌道上。根據重力移動ImageView?

ImageView image = (ImageView) findViewById(R.id.image); 
SensorManager mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY); 

任何提示將幫助 謝謝!

回答

1

看看這個SO的問題,以更好地瞭解重力。

努力學習指南針是如何工作的再見這個example

我猜你在尋找解決方案

ImageView的舉動然而,根據用戶傾斜設備

這是完全相同的樣子此accelerometer example

enter image description here

+0

非常感謝! 我會馬上試試 另一個問題,有沒有一種方法可以在Eclipse模擬器上進行測試?或者我將不得不在實際的電話上嘗試它? – Roy

+0

@ user3097181更好地嘗試使用Device,否則您需要執行此操作http://code.google.com/p/openintents/wiki/SensorSimulator –

1

你要創建並註冊一個SensorListener:在SensorListener的onSensorChanged(SensorEvent event)方法

mSensorManager.registerListener(mSensorListener, sensor, SensorManager.SENSOR_DELAY_GAME); 

然後,您可以通過event.values陣列傳感器讀數。

這會得到重力值,然後用它來移動ImageView

至於如何移動ImageView,它很大程度上取決於視圖的種類,但您可以在設置ImageView's邊距時使用。