정상에서 IT를 외치다

[Android. Error] java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation 본문

안드로이드

[Android. Error] java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

Black-Jin 2018. 5. 17. 16:54
반응형

Android 8.0 (오레오) 업데이트 되면서 기존에 없었던 에러가 발생하는것 같습니다. ㅜㅠ


투명 모드 Acitivty 에 screenOrientation 값을 portrait 을 걸면


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


위와 같은 에러가 나오면서 폰이 검은화면에서 넘어가질 않습니다.


거의 크러쉬와 같은 에러인데요


다시 설명하자면


Style 값이 아래 값처럼 windowIsTTranslucent  값을 false 로 설정하고

<style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@color/DialogBackground</item>
<item name="android:windowIsTranslucent">false</item> <!-- true : 반투명, false : 투명 -->
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>




아래와 같이 해당 Activity theme 에 걸어준 후


screenOrientaion = "portrait" (해당 화면을 무조건 세로모드만 실행되게 합니다.) 를 설정하면 오레오 폰에서 에러가 발생합니다.

<activity
android:name=".activity.mainView.activity.MyDialogActivity"
android:screenOrientation="portrait"
android:theme="@style/TranslucentTheme" />



해결법으로는


screenOrientaion = "portrait" 를 없애주거나


windowIsTTranslucent 값을 true 로 변경해주면 되겠습니다.

반응형
Comments