【android】オーバーレイでトップレイヤーにViewを表示する
公開日:
:
android
常にホーム画面や他のアプリより前面にViewを表示する方法です。
前面に透明のViewGroupを敷いて、子Viewを配置していこうかと思ったのですが、透明Viewがどうしてもタッチイベントを拾ってしまい、ホーム画面など背面を操作できなくなってしまいました。
必要なViewだけ用意して
params.gravity = Gravity.TOP | Gravity.LEFT;
の部分でレイアウトを作成しました。
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); WindowManager.LayoutParams params = new WindowManager.LayoutParams( int_width_px, int_height_px, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, PixelFormat.TRANSLUCENT); params.gravity = Gravity.TOP | Gravity.LEFT; wm.addView(anyView, params);
関連記事
-
【android】任意のスレッドで処理を行う
非UIスレッドでUIを操作したい場合に、任意の処理をUIスレッド上で実行する。 目次
-
【android】複数のカスタムテーマを設定で切り替える
背景色やアプリ全体のテーマ色を設定で変更したいという要望をもらったので実装してみました。
-
【android】 年月だけのDatePicker
final DatePicker datePicker = new DatePicker(sel
-
ダイアログを表示する
カスタムアラートダイアログ private void showCustomAlert(A
-
【android】処理時間を計測する
パフォーマンスのリファクタリングを行うには処理時間の計測がかかせません。 SDK標準のクラスを使っ
-
【android】設定画面の作成
res/xml/preferences.xml <?xml version=&quo
-
【android】サービスの実装
ダウンロードなどActivityに依存したくない大きなバックグラウンド処理や常駐プロセスを作りたい場
-
【android】標準の設定画面を作る
設定画面のテンプレートです。 検索一発クンのコードから抜粋しました。 チェックボックス、リス
-
[android] JSONのパースにかかる時間
リストデータなんかを保存したいというのはよくある要件だと思います。 DBは面倒だしカラム毎に集計す
-
【android】 setOnClickListener(false)が効かない
間違いその1 OnClickListenerが登録されているViewにsetClickable
- PREV
- 【android】サービスの実装
- NEXT
- 【android】標準の設定画面を作る