【发布时间】:2013-06-07 18:32:52
【问题描述】:
嗨,在我的应用程序中,我需要创建一个陀螺仪。因此,我正在使用以下代码。
public class AccessGyroscope extends Activity implements SensorEventListener
{
private TextView tv;
private SensorManager sManager;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
sManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}
@Override
protected void onResume()
{
super.onResume();
sManager.registerListener(this, sManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_FASTEST);
}
@Override
protected void onStop()
{
sManager.unregisterListener(this);
super.onStop();
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1)
{
}
@Override
public void onSensorChanged(SensorEvent event)
{
if (event.accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE)
{
return;
}
tv.setText("Orientation X (Roll) :"+ Float.toString(event.values[2]) +"\n"+
"Orientation Y (Pitch) :"+ Float.toString(event.values[1]) +"\n"+
"Orientation Z (Yaw) :"+ Float.toString(event.values[0]));
}
}
我可以获得 Yaw、Roll 和 Pitch 值,但我想在 2d 平面上显示它。 基本上我想要这样的视图。
红点应根据设备的方向移动。我可以在画布上工作以准备该视图。但我真正想要的是那些与 Yaw、Roll 和 Pitch 值相关的坐标。
请帮忙
【问题讨论】:
标签: android canvas android-sensors