繁体   English   中英

如何锁定Android屏幕方向

[英]How to lock android screen orientation

我正在制作一个Android视频播放器,它具有类似于用户可以在任何方向观看视频的功能,我只使用以下代码:

Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1);

它可以工作,但是当我添加一个用户可以锁定方向的功能时,我就做到了:

Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0);

所以我遇到了麻烦。 当我处于横向方向并尝试锁定方向时,屏幕将变为纵向。 谁能解决这个问题或告诉我另一种处理方法?

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

要么

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);   

此处了解更多信息: 开发可识别方向的Android应用程序

使用以下代码根据条件变化(如果else语句)

int currentOrientation = getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) 
     {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
     }
 else {
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
       }

要么

您可以在活动中设置任何人的风景或肖像。在屏幕旋转时它永远不会改变

<activity android:name="MyActivity"
 android:screenOrientation="landscape"
 android:configChanges="keyboardHidden|orientation|screenSize">
  ...
</activity>

在您的AndroidManifest.xml中,为每个活动放置

android:screenOrientation="landscape"

它迫使活动景观。

只是您在manifest.xml文件中添加了以下属性。

android:screenOrientation="portrait"

像这样

<activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

而已

您可以请求ScreenOrinentation public void setRequestedOrientation (int requestedOrientation) requestOrientation public void setRequestedOrientation (int requestedOrientation) 你可以这样使用

// For landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
 //OR for portrait 
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
//OR reverse landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
 //OR for reverse portrait
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);

requestOrientation ActivityInfo.screenOrientation中使用的方向常数。

在API级别1的首选屏幕取向此活动想在运行。从screenOrientation属性,SCREEN_ORIENTATION_UNSPECIFIED,SCREEN_ORIENTATION_LANDSCAPE,SCREEN_ORIENTATION_PORTRAIT,SCREEN_ORIENTATION_USER,SCREEN_ORIENTATION_BEHIND,SCREEN_ORIENTATION_SENSOR,SCREEN_ORIENTATION_NOSENSOR,SCREEN_ORIENTATION_SENSOR_LANDSCAPE,SCREEN_ORIENTATION_SENSOR_PORTRAIT,SCREEN_ORIENTATION_REVERSE_LANDSCAPE,SCREEN_ORIENTATION_REVERSE_PORTRAIT,SCREEN_ORIENTATION_FULL_SENSOR,SCREEN_ORIENTATION_USER_LANDSCAPE之一, SCREEN_ORIENTATION_USER_PORTRAIT,SCREEN_ORIENTATION_FULL_USER,SCREEN_ORIENTATION_LOCKED,

暂无
暂无

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

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