即使Android屏幕旋转关闭,我怎样才能获得设备的旋转功能。 我正在使用Android的Camera API,我需要拍摄横向和纵向照片,甚至旋转关闭(图像低于我正在谈论的功能)。
有没有办法让这个设备的方向关闭?
答案 0 :(得分:0)
是的,您可以随时以编程方式设置屏幕方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
分别用于横向和纵向模式。 setRequestedOrientation()方法可用于Activity类,因此可以在Activity中使用。
这就是你如何获得当前屏幕方向并根据其当前状态充分设置它:
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
final int orientation = display.getOrientation();
// OR: orientation = getRequestedOrientation(); // inside an Activity
// set the screen orientation on button click
Button btn = (Button) findViewById(R.id.yourbutton);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
switch(orientation) {
case Configuration.ORIENTATION_PORTRAIT:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case Configuration.ORIENTATION_LANDSCAPE:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
}
}
});
此外,您可以使用配置获取屏幕方向:
Activity.getResources().getConfiguration().orientation
答案 1 :(得分:0)
如果您使用的是Camera API,则需要使用相机参数更改旋转
Camera.Parameters param = mCamera.getParameters();
param.setRotation(90);
return param;
您可以尝试不同的旋转度,以获得您所需要的。试试90,180,270。希望这会有所帮助。