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

时间:2016-04-11 18:16:26

标签: android

即使Android屏幕旋转关闭,我怎样才能获得设备的旋转功能。 我正在使用Android的Camera API,我需要拍摄横向和纵向照片,甚至旋转关闭(图像低于我正在谈论的功能)。

enter image description here

有没有办法让这个设备的方向关闭?

2 个答案:

答案 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。希望这会有所帮助。