将弹出窗口移出屏幕



你好,我有这个代码来显示弹出窗口…

final WindowManager.LayoutParams parameters = new WindowManager.LayoutParams(
            (width/100)*50, height, WindowManager.LayoutParams.TYPE_PHONE,
            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
            PixelFormat.TRANSLUCENT);
parameters.gravity = Gravity.CENTER | Gravity.CENTER;
parameters.x = (width/100)*50;
parameters.y = 0;

但是我需要把它显示在屏幕之外…当我将x的位置设置为大于窗口大小时,它会卡在角落,而不会越过屏幕…

谢谢。编辑:因为有些人不明白我的意思。我的意思是屏幕外一半,而不是全部。

您需要再添加一个标志,即flag_layout_no_limits

final WindowManager.LayoutParams parameters = new WindowManager.LayoutParams(
            (width/100)*50, height, 
            WindowManager.LayoutParams.TYPE_PHONE,
            WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
            PixelFormat.TRANSLUCENT);  
parameters.gravity = Gravity.CENTER | Gravity.CENTER;
parameters.x = (width/2);
parameters.y = 0;  

最新更新