この質問のように、オーバーレイをでView
管理しています。WindowManager
簡単に言えば、次のようになります。
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
my_view_layout_params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
wm.addView(my_view, my_view_layout_params);
動作しますが、レイアウト パラメータを変更する必要がある場合は、次のようにビューを削除して再度追加する必要があります。
wm.removeView(my_view);
wm.addView(my_view, my_view_layout_params);
見た目はあまり美しくありません。やってみましたがmy_view.setLayoutParams(my_view_layout_params)
、残念ながらうまくいきません。どうすればできますか?