📜  在Android中锁定屏幕方向(1)

📅  最后修改于: 2023-12-03 15:23:22.019000             🧑  作者: Mango

在 Android 中锁定屏幕方向

Android 设备的屏幕方向通常是根据用户的物理设备方向来动态变化的。有时,我们需要在特定情况下固定屏幕方向。本文将介绍如何在 Android 应用中锁定屏幕方向。

方式一:在 Manifest 文件中配置

在 Android 应用的 Manifest 文件中,可以配置应用的默认屏幕方向,并强制应用在特定方向下运行。修改 AndroidManifest.xml 文件,添加以下代码:

<activity
    ...
    android:screenOrientation="portrait"> 
    <!-- or "landscape" or "reversePortrait" or "reverseLandscape" -->
</activity>

android:screenOrientation 属性可以设置应用运行的方向。常用选项包括:

  • portrait:竖屏方向
  • landscape:横屏方向
  • reversePortrait:翻转竖屏方向
  • reverseLandscape:翻转横屏方向

默认情况下,如果没有指定 android:screenOrientation 属性,Android 应用将自动适应设备的物理方向。

方式二:编程实现

如果需要在程序运行时动态锁定屏幕方向,则可以使用以下代码:

//锁定竖屏方向
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

//锁定横屏方向
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

以上代码需要在 Activity 中使用。SCREEN_ORIENTATION_PORTRAITSCREEN_ORIENTATION_LANDSCAPE 常量可以设置应用在竖屏和横屏方向下运行。

注意:在使用代码锁定屏幕方向时,需要在 onPause() 方法中解除限制,防止在用户退出应用后仍然保持屏幕方向:

@Override
protected void onPause() {
    super.onPause();
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
结语

本文介绍了两种 Android 中锁定屏幕方向的方法。Manifest 文件中的配置适用于整个应用,而编程实现可以根据具体需求动态设置屏幕方向。程序员可以根据自己的需要选择适合自己的方案来锁定 Android 应用的屏幕方向。