Android 在Window 绘制时,限制在Window内部绘制和绘制到窗口之外的方法。
今天在创建Window,进行动画显示时,我需要的是一个按钮上面覆盖的Window画的圆形扩散效果,要大到超过窗口边缘的效果。而我的绘制区域,却只能在窗口内部各种着急啊~~,终于在看WindowManager.addView(View, WindowManager.LayoutParams), 看WindowManager.LayoutParams的参数中的flag受到启发,把FLAG_LAYOUT_INSCREEN改成了FLAG_LAYOUT_NO_LIMITS后,终于绘制区域不受限制啦,达到效果了。
通过在WindowManager中添加View时,设置layoutParameters时,指定flag的值,其中有带有FLAG_LAYOUT_IN_SCREEN 为限制绘制在窗口内部, 而
FLAG_LAYOUT_NO_LIMITS | 没有限制绘制的区域。 |
为绘制在窗口内部。
WindowManager.LayoutParams
下面的两个参数对以后能够
int | FLAG_LAYOUT_IN_SCREEN | Window flag: place the window within the entire screen, ignoring decorations around the border (such as the status bar). |
int | FLAG_LAYOUT_NO_LIMITS |
Window flag: allow window to extend outside of the screen.
|