使用非透明活动定位Android API 27时锁定屏幕方向
问题内容:
我有一个具有一个活动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"
从清单中取出该应用程序,则该应用程序不会崩溃,但我希望能够保持这种状态。
问题答案:
我也面临同样的问题。就像其他人所说的,如果我删除了 android:screenOrientation =“ portrait” 或用
android:screenOrientation =“ unspecified”
覆盖了它,那么该异常就消失了。并且似乎前活动的方向遵循后活动的方向。
我想过这个问题。如果前面的活动是透明的,后面的活动的方向不同,则显示将变得奇怪。因此,我可以理解为什么添加了此检查逻辑。但是,我想知道为什么在Developer
Preview 8.0.0中没有发生此问题。