Android: изменить LayoutParams представления, добавленного WindowManager

У меня есть оверлей 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);

Это работает, но если мне нужно изменить параметры макета, мне нужно удалить View и добавить его снова, вот так:

wm.removeView(my_view);
wm.addView(my_view, my_view_layout_params);

Это выглядит не очень красиво. Я пытался сделать my_view.setLayoutParams (my_view_layout_params) , но, к сожалению, не работает. Как я могу это сделать?

12
задан Dmitry Frank 20 February 2012 в 08:50
поделиться