子项继承的屏幕方向 activity

screen orientation inherited by child activity

我有一个基础 activity(扩展 AppCompactActivity),它由所有活动扩展。我的问题是,如果我将 Manifest 文件中的 android:screenOrientation="portrait" 设置为基础 activity,为什么它没有设置为扩展此 activity 的所有活动。这是我的清单文件

<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/AppTheme">
    <activity android:name=".LoginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

如果你想为所有子activity设置方向,也许最好在基础activity

上使用如下代码
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

在清单中,它的目标是实例化的 activity,例如如果它用于 .BaseActivity,则只有实际的 .BaseActivity 启动才会有它的 xml 配置。 xml 中设置的值不适用于代码继承层次结构之外,而是每个 activity 启动都需要在 manifest.xml 中有自己的标签。继承不适用于 AndroidManifest.xml.

注意:android:screenOrientation="portrait" 中是每个屏幕的属性或 activity 是在清单文件中注册的,所以如果你不提及这个 属性 在清单中的每个 activity 然后它将采用默认值,因此我们必须为每个 activity 提及此 属性,即使 activity 由其他 [=16] 扩展=] 其中提到 属性 Inheritance doesn't apply here in the AndroidManifest.xml。