我正在使用相机仅显示预览(不拍照或录制视频).
应用程序始终处于纵向模式(禁用横向模式).相机预览总是旋转90度ccw我无法改变它(无论是setDisplayOrientation也不是p.set("orientation", "portrait" )和p.set("rotation", 90) ).
预览总是像这样旋转还是依赖于设备?如果在纵向模式下总是如此,我可以随后旋转图像.
或者有没有办法正确设置相机?我已经阅读了很多有关此问题的帖子,但没有回答对我有用(Galaxy s2,Android v2.3)
CheckBox包含以下代码:
CheckBox cb = (CheckBox)findViewById(R.id.freezer);
cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
}
}
});
Run Code Online (Sandbox Code Playgroud)
因此,当我检查它时,屏幕旋转到默认的系统方向(我的平板电脑的风景).
我需要冻结CURRENT方向.如果您将设备设置为纵向和切换CheckBox,则必须插入设备旋转,直到取消选中CheckBox.
Display.getRotation()不是解决方案,因为每个设备都有自己的Surface.ROTATION
我正在编写一个相机应用程序,通过设置禁用相机预览期间的自动旋转android:screenOrientation="nosensor".但是,我仍然想知道拍摄照片时手机的旋转情况. getResources().getConfiguration().orientation不够具体,只返回肖像,风景或广场. getWindowManager().getDefaultDisplay().getRotation()始终为0,因为屏幕被强制在其默认的方向-我怎样让这个值什么会是如果自动旋转是吗?