사슴벌레의 개발블로그

안드로이드 오레오버전에서 투명액티비티 오류 본문

Android

안드로이드 오레오버전에서 투명액티비티 오류

사슴벌레와 개똥벌레 2019. 1. 3. 12:29

안드로이드 오레오 버전(tagetSdkVersion 을 28로 설정했을때)에서 Translucent 나 Floating 액티비티를 사용하고자 할때


android:screenOrientation="portrait" 를 해당액티비티 스타일에 설정하면 오류가 발생함


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


오레오버전에서만 발생하는 문제인듯..


해결방 방법은 여러가지가 있으니 알아서 상황에 맞게끔 하면될듯..


<item name="android:windowIsTranslucent">true</item>

를 지우거나 


<item name="android:windowDisablePreview">true</item>

를 추가하거나..


if (android.os.Build.VERSION.SDK_INT != Build.VERSION_CODES.O) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

를 onCreate()에 넣어주거나..(이건 xml에서 android:screenOrientation="portrait" 를 빼고 java에서 넣어주는방법)


여러가지 방법이 있음




Comments