我遇到以下问题-我在WindowManager中放一个 View
我希望它可以从屏幕外向屏幕中间翻译动画。
不幸的是,无论我做什么, View 都停留在轴上。
这是代码:
view = (FrameLayout) LayoutInflater.from(this).inflate(
R.layout.poke, null);
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
300, 400, WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.verticalMargin = -10f;
params.gravity = Gravity.TOP;
windowManager.addView(view, params);
如您所见,我尝试使用边距(将其减掉以使其上升)。
顺便说一句-我知道在dimen.xml中放入数字而不是dp是很丑的。它只是一个测试代码。
最佳答案
我只是遇到了同样的问题,实际的标志是:
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
因此,您的代码应如下所示:
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
300, 400, WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
PixelFormat.TRANSLUCENT);
关于android - 在WindowManager中显示可能来自 "out of screen"的 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24458039/