android:windowIsTranslucent
をtrue
に設定し、android:windowBackground
を半透明の背景に設定したアクティビティがあります。私はちょうど私のターゲットを変更し、27にSDKのバージョンをコンパイルし、そして今、この活動を立ち上げたとき、私は例外を取得:Android API 27を非不透明なアクティビティでターゲティングしたときの画面の向きを固定する
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
これは新しいSDKですので、何もまだそれについてオンラインがない(とこのコード行の結果と思われます:https://android.googlesource.com/platform/frameworks/base.git/+/master/core/java/android/app/Activity.java#987)
これを回避する方法はありますか?このアクティビティのマニフェストからandroid:screenOrientation="portrait"
を取り出してもアプリケーションがクラッシュすることはありませんが、そのように保つことができますようにお願いします。
半透明のアクティビティで方向を選択できるのは意味がありません。あなたの下のアクティビティがそのアクティビティをサポートしていない場合や、自分自身をロックした場合はどうなりますか?それはどのように機能しますか?それが許可された場合、それは抜け穴で働いた。 –
私の使用例は、この半透明のアクティビティが自分のアプリでのみ表示されることです(別のアプリのオーバーレイとしてではありません)。私の主なアクティビティをオーバーレイするSearchアクティビティ、メインアクティビティはどちらもローテーションしない – vanshg
実験をした後、同様の半透明アクティビティからscreenOrientation属性を削除した後も、私のアクティビティ**はまだ回転しません** **それらの背後にあるもの**には、** portrait **値を持つscreenOrientation属性もあります。 – sofakingforever