Android 应用程序突然停止在设备旋转时旋转(永久纵向)

问题描述 投票:0回答:1

Android 开发者朋友们,

我正在开发 Jetpack Compose Native 应用程序,最近当我旋转设备时该应用程序停止旋转。自动旋转已开启。我尝试了两个模拟器 Pixel 9 和 8 以及一个带有 SDK 30 的物理设备。不知道发生了什么,因为我无法跟踪与设备旋转相关的任何更改。

这是我的清单:

  <application
    android:name=".app.android.App"
    android:allowBackup="true"
    android:dataExtractionRules="@xml/data_extraction_rules"
    android:enableOnBackInvokedCallback="true"
    android:fullBackupContent="@xml/backup_rules"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme"
    tools:targetApi="35">

    <activity
        android:name=".app.host.MainActivity"
        android:exported="true"
        android:theme="@style/Theme"
        android:windowSoftInputMode="adjustNothing"> <!--adjustNothing is used to deal with imePadding-->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

主题:

 <style name="Theme" parent="Theme.Material3.DayNight">
    <item name="android:windowIsTranslucent">true</item>
</style>

我有“自定义启动画面,这就是我设置“windowIsTranslucent”的原因。

此外,我使用 GoogleMap SDK,但在任何屏幕上都没有发生旋转。

注意- 我的目的不是强制纵向,而且自动旋转也适用于整个设备。

android android-jetpack-compose
1个回答
0
投票

基本上问题是

android:windowIsTranslicent
。更多信息请参见:android:@Theme.Translucent 将方向锁定为纵向?

要解决此问题,请将

android:screenOrientation="sensor"
添加到活动中(撰写应用程序中只有一个)或找到另一种方法来创建自定义启动屏幕。

© www.soinside.com 2019 - 2024. All rights reserved.