您需要声明传感器
private SensorManager mSensorManager; private OrientationSensor mOrientationSensor; mSensorManager = (SensorManager) this.getSystemService(SENSOR_SERVICE); mOrientationSensor = new OrientationSensor(this, mSensorManager, OrientationSensor.MODE_LOOK_THROUGH);
制作您的活动或片段工具 SensorEventListener
SensorEventListener
创建向量以检索旋转值
private float[] mHeadRotation = new float[2];
在onSensorChanged
@Override public void onSensorChanged(SensorEvent sensorEvent) { mUiPanoWidgetView.getHeadRotation(mHeadRotation); updateReticule(); }
根据你在图片上的位置做你想做的事。例:
private void updateReticule() { if(mHeadRotation[1] > -20 && mHeadRotation[1] < 20 && mHeadRotation[0] > -15 && mHeadRotation[0] < 15){ showButton(); } else { showReticule(); } }
showButton()可以在屏幕中央显示或隐藏箭头(ImageButton)。然后在箭头上设置OnClickListener。如果用户单击,则可以转到下一张图片。
希望它能帮到你:)