当你点击全屏图标在YouTube的应用程序,它会改变为风景和全屏,发现仍然是自动旋转模式,如何做到这一点?如何改变方向但保持自动旋转屏幕
如果设置lanscape模式:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
(设备总是景观)
- 点击全屏
- lanscape
- 肖像
我解决了问题使用传感器来检测横向或纵向
@Override
public void onPause() {
super.onPause();
videoview.pause();
mSensorManager.unregisterListener(this);
}
@Override
public void onResume() {
super.onResume();
mSensorManager = (SensorManager) getActivity().getSystemService(Activity.SENSOR_SERVICE);
mRotationSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
mSensorManager.registerListener(this, mRotationSensor, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor == mRotationSensor) {
if (event.values.length > 4) {
float[] truncatedRotationVector = new float[4];
System.arraycopy(event.values, 0, truncatedRotationVector, 0, 4);
update(truncatedRotationVector);
} else {
update(event.values);
}
}
}
private void update(float[] vectors) {
float[] rotationMatrix = new float[9];
SensorManager.getRotationMatrixFromVector(rotationMatrix, vectors);
int worldAxisX = SensorManager.AXIS_X;
int worldAxisZ = SensorManager.AXIS_Z;
float[] adjustedRotationMatrix = new float[9];
SensorManager.remapCoordinateSystem(rotationMatrix, worldAxisX, worldAxisZ, adjustedRotationMatrix);
float[] orientation = new float[3];
SensorManager.getOrientation(adjustedRotationMatrix, orientation);
// float pitch = (float) Math.toDegrees(orientation[1]);
float roll = (float) Math.toDegrees(orientation[2]);
boolean curentOrient = isPortrait;
if(roll >= -75 && roll <= 75){
isPortrait = true;
System.out.println("Portrait");
}else{
isPortrait = false;
System.out.println("Landscape");
}
if(curentOrient != isPortrait){
videoview.toggleFullScreen(isPortrait); // this is my videoview.
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
个
,让工具SensorEventListener
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE_SENSOR,我试过了,但它只允许横向,而不是纵向。谢谢你,先生 – vuhung3990 2014-12-04 03:48:43
所以,你只是想全屏,但传感器方向? ActivityInfo.SCREEN_ORIENTATION_SENSOR是你想要的。 – 2014-12-04 03:50:41