在 Android 清单中更改屏幕方向没有任何效果

Changing the screen orientation in the Android Manifest does not have any effects

我希望我的应用程序只处于横向模式。为此,我使用此处推荐的 Android 清单中的建议代码 Force "portrait" orientation mode

但是,在 Android 模拟器上,布局始终处于纵向模式。即使我旋转模拟器,布局方向也不会改变。知道为什么会出现这个问题吗?

在这里您可以看到 Android 清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nikhiljain.canvasdrawingsample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"

        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.CanvasDrawingSample">
        <activity android:name=".MainActivity">
            android:screenOrientation="landscape"
            android:configChanges="orientation|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

这是主要文件:

package com.nikhiljain.canvasdrawingsample

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

您关闭 <activity 标签的时间过早,其余属性(name 除外)在声明之外并且“不算数”:

<activity android:name=".MainActivity">      <----- !!!!
    android:screenOrientation="landscape"
    android:configChanges="orientation|keyboardHidden">

应该是:

<activity android:name=".MainActivity"
    android:screenOrientation="landscape"
    android:configChanges="orientation|keyboardHidden">