こんにちは。突っ込みをお待ちしたいのですが。。。(すごい勘違いをしていないだろうか……という)
これはActivityの話です。
TYPE_SYSTEM_OVERLAY とか TYPE_TOAST などのSystem windowをWindowManger#addViewで作ったとします。
(ちなみに用途は「adbを使えない開発協力者向けのデバッグ情報表示」です)
タイミングは Activity#onAttachedToWindow 以降です。
このとき何らかのDialogがすでに表示されていれば,それよりも手前に重ねて表示されることになります。
が,この追加Windowを作ったあとで奥にDialogを表示(#show)しようとすると,これが「見えません」。
手前のWindowを透明にしようがinvisibleにしようがすごく小さくしようが,Dialogは描画されません。
レイアウトはされているようで,Dialog中のViewから #getLocationOnScreen などで座標を取ってみると
それらしい値ですし,#isShowing も true を返します。hiererchy viewerで見ても存在しています。
そういうものなの?と納得するにはちょっと早い感じがして,書いてみました。
Toastが表示されている間はDialogが描画されないなんてことはない気がするし……
お心当たりがありましたらコメントをください。よろしくお願いします。
----
nemo