小编典典

使用非透明活动定位Android API 27时锁定屏幕方向

java

我有一个具有一个活动android:windowIsTranslucent设置true,并android:windowBackground设置成半透明的背景。我只是将目标更改为,并将sdk版本编译为27,现在启动此活动时出现异常:

java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

由于这是一个新的SDK,因此尚无任何在线信息(它似乎是由以下代码行导致的:https//android.googlesource.com/platform/frameworks/base.git/+/master/核心/java/android/app/Activity.java#987)

有什么办法可以解决这个问题?如果我android:screenOrientation="portrait"从清单中取出该应用程序,则该应用程序不会崩溃,但我希望能够保持这种状态。


阅读 213

收藏
2020-10-18

共1个答案

小编典典

我也面临同样的问题。就像其他人所说的,如果我删除了 android:screenOrientation =“ portrait” 或用
android:screenOrientation =“ unspecified”
覆盖了它,那么该异常就消失了。并且似乎前活动的方向遵循后活动的方向。

我想过这个问题。如果前面的活动是透明的,后面的活动的方向不同,则显示将变得奇怪。因此,我可以理解为什么添加了此检查逻辑。但是,我想知道为什么在Developer
Preview 8.0.0中没有发生此问题。

2020-10-18