我正在进行一个自定义的安卓构建,其中我的服务在每个应用程序上方添加了一个视图。使用以下代码:
WindowManager mWM = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
mParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
mParams.height = 117;
mParams.width = 366;
View myView = inflater.inflate(R.layout.myView,null);
mWM.addView(myView, mParams);
我能够成功添加视图。我正在使用动画效果来使视图动起来。
PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("x", 300);
ObjectAnimator.ofPropertyValuesHolder(myView, pvhX).start();
我可以看到视图动画,但没有窗口。原来的视图所在的透明窗口没有动画效果。这与Android属性动画中所描述的行为相同。
另一个视图动画系统的缺点是它只修改了View被绘制的位置,而不是实际的View本身。例如,如果您将按钮动画移到屏幕上,按钮会正确绘制,但是单击按钮的实际位置不会改变,因此您需要实现自己的逻辑来处理这个问题。
如何同时动画窗口和视图?
谢谢。
myView
布局是什么样子的? - tachyonflux