4

ウィンドウ マネージャー (Facebook のチャット ヘッドのようなもの) にいくつかのビューを追加するサービスがあります。このビューは、カメラ アプリを使用している場合でも、常にすべての上に表示されます。ビューを非表示にできるように、何らかのアクティビティ (カメラやビデオ プレーヤーなど) がフル スクリーンを使用していることを知ることはできますか?

編集:

View.OnSystemUiVisibilityChangeListener と呼ばれるものがありますが、API 11 が必要です。私のターゲットは 9 ですが、これはまさに私が必要としているもののようです。API 9 に代わるものはありますか?

4

1 に答える 1

4

わかりました、誰かが興味を持っているなら、私はこの方法で私の問題を解決しました: 幅 1 ピクセル、高さが match_parent の透明なビューをウィンドウ マネージャーに追加しました。次に、このビューにグローバル レイアウト リスナーを追加し、レイアウトに変更があるたびに、画面上のこのビューの位置を確認します。Y が 0 の場合、ステータス バーは表示されないため、フル スクリーン アプリが実行されている必要があります。これは、ネイティブの View.OnSystemUiVisibilityChangeListener よりもさらにうまく機能します。なぜなら、何らかの方法でそのメソッドをトリガーしないアプリがあるように見えるからです (新しい yahoo weather など)。

于 2013-10-05T19:43:31.580 に答える