繁体   English   中英

屏幕旋转关闭时的Android设备方向

[英]Android Device Orientation with Screen Rotation Off

即使关闭android屏幕旋转,我如何也能获得设备的旋转。 我正在使用Android的Camera API,并且甚至需要关闭旋转拍摄风景和肖像照片(具有正在谈论的功能的图像波纹管)。

在此处输入图片说明

有什么方法可以关闭该设备的方向?

是的,您可以随时通过以下方式以编程方式设置屏幕方向:

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

如果您使用Camera API,则需要使用相机参数更改旋转角度

Camera.Parameters param = mCamera.getParameters();
param.setRotation(90);
return param;

您可以尝试不同的旋转度,以完全满足您的需求。 尝试90,180,270。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM