2016-10-23 12 views
0

単純な質問(うまくいけば):全体の画面オーバーレイ

アンドロイドで簡単な半透明の画面オーバーレイを作成する簡単な方法はありますか?ちょうど固体色は初心者のために完全に働くでしょう。このオーバーレイをホストするアプリケーションが実行中か停止中かどうかに関わらず、オーバーレイが常に無効になるまですべてのものを表示する必要があるため、これはアクティビティとして開始されるのではなくサービスとして実行されることを賭けています。

特定のアクティビティ/フラグメントのオーバーレイを作成するのは簡単ですが、画面上の内容に関係なく、このオーバーレイを画面全体に表示することをお勧めします(エラーダイアログを除いて、

編集:詳細を追加するには、「夕暮れ」や「スクリーンフィルター」のようなアプリは、このようなことができるように見えますが、画面全体にわたってカスタム透明度で色を表示できますアプリが実行されていません。

+0

私のカスタムランチャーのようなサウンドです。 – Tigger

+0

@Tigger、編集された質問を参照してください。それは私が意味することについてより良いアイデアを与えるかもしれません。 –

+0

必要なものは 'WindowManager'です。 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT型のウィンドウを作成し、それをWindowManagerに追加すると、すべてがオーバーレイされます。 PS。ここのウィンドウは実際には普通のビューです。 – neevek

答えて

1

ええ、SYSTEM_ALERT_WINDOWの許可とWindowManagerを使用して画面オーバーレイ全体を実装することができます。これがFacebookのチャットヘッドの仕組みです。基本的には、ViewWindowManagerインスタンスを追加する必要があります。詳細はWindowManagerを検索してください。

+0

いくつかの研究を行うと、これは一般的なコンセンサスのようです。 TYPE_SYSTEM_ALERTとSYSTEM_ALERT_WINDOWの違いは何ですか? –

+0

申し訳ありませんが、誤っていました。あなたが探していた権限は 'SYSTEM_ALERT_WINDOW'です。私は自分の答えを適切に更新しました。 – jimmy0251

+0

私は見る!その場合、受け入れられた答えです。 –

関連する問題