根据重力移动ImageView?

时间:2014-02-11 04:09:54

标签: java android sensor gravity sensormanager

我试图根据用户倾斜设备进行ImageView移动。 我还在学习Android开发,所以我对传感器知之甚少。 我尝试过使用它,但我不确定之后该做什么,但我猜我正走在正确的轨道上。

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

任何提示都会有所帮助 谢谢!

2 个答案:

答案 0 :(得分:1)

您需要创建并注册SensorListener

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

然后在SensorListener的onSensorChanged(SensorEvent event)方法中,从event.values数组中获取传感器读数。

这将为您提供重力值,然后您可以使用它来移动ImageView

至于如何移动ImageView,这很大程度上取决于视图的Layout种类,但您可以设置ImageView's边距。

答案 1 :(得分:1)

请查看此SO问题,以便更好地了解重力。

尝试了解罗盘的工作原理example

我猜你在寻找解决方案

  

ImageView根据用户倾斜设备移动

完全如下所示accelerometer example

enter image description here