1. 程式人生 > >android 8.0:Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can reques

android 8.0:Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can reques

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

只有不透明的全屏activity可以自主設定介面方向

我們的啟動頁面是設定了透明,同時也設定了螢幕方向為豎向,首先我們的orientation一定是要設定的了,所以那就只有不讓activity透明瞭,但是當時為啥要讓啟動頁面透明呢?就是為了解決應用啟動時候黑屏或者白屏,所以現在要做的就是不讓activity透明且讓其啟動時候不會有黑屏或者白屏了,有同學說直接用另外一種方式呀,就是給啟動頁面的style設定一個背景圖片呀,但是樣子在有虛擬返回鍵的手機上是有問題的,點選應用之後然後當啟動頁面展示時候,圖片的尺寸會有變化,方便的同學可以試試這種方式,所以如果要使用這種方式需要適配虛擬返回鍵,不是一種特別好的方式。

         其實又回到了最初的問題,為啥應用啟動會有黑屏或者白屏呢?這是因為使用者點選應用圖示之後,在應用初始化完成之前會展示一個預設的window,而這個preview window的樣式取決於自己啟動頁的theme是怎樣的了,如果是light的就是白屏,如果是black的就是黑屏了。

         所以說我們直接禁用這個預設動畫不就好了麼?所以將原來的windowIsTranslucent改為windowDisablePreview就能起到一樣子的效果了,且應用不會崩潰了。

待研究。。。