You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅为单个Activity启用resizeableActivity属性?

解决方案

针对你在Galaxy Z Fold3 5G上遇到的单个Activity无法设置resizeableActivity="true"的问题,你可以尝试以下几个步骤:

  • 移除android:screenOrientation="locked"属性
    锁定屏幕方向会直接阻止系统对Activity进行大小调整,因为resizeableActivity需要Activity能够响应屏幕尺寸和方向的变化。去掉这个属性后,系统才能正常触发折叠屏的分屏/resize行为。

  • 添加必要的android:configChanges配置
    为了让Activity在尺寸变化时不被系统重启,同时正确响应折叠屏的状态变化,需要在Activity标签中添加以下配置:

    android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
    

    这会告诉系统由Activity自行处理这些配置变化,而不是销毁重建Activity,确保resize功能正常工作。

  • 为Activity单独设置tools:targetApi(可选)
    如果你的应用在Application级别设置了较低的tools:targetApi,可以在目标Activity标签中添加更高的API级别(比如针对折叠屏的"r"即Android 11+,或者"s"Android 12+),确保系统识别到该Activity支持折叠屏相关特性:

    tools:targetApi="r"
    

修改后的Activity配置示例:

<activity
    android:name=".PlayVideo_Act"
    android:hardwareAccelerated="true"
    android:allowTaskReparenting="true"
    android:launchMode="singleTask"
    android:resizeableActivity="true"
    android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
    tools:targetApi="r"/>

另外需要注意:如果你的代码中存在强制设置屏幕方向的逻辑(比如setRequestedOrientation),也需要移除或调整这部分代码,避免覆盖Manifest中的配置。

内容的提问来源于stack exchange,提问作者android_dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:20:37