【发布时间】:2015-11-16 04:58:50
【问题描述】:
我正在做一个自定义的 android 构建,其中我的服务在每个应用程序之上添加了一个视图。使用以下代码:
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 Property Animation
中描述的行为相同视图动画系统的另一个缺点是它只修改了视图的绘制位置,而不是实际的视图本身。例如,如果您为按钮设置动画以在屏幕上移动,则按钮可以正确绘制,但您可以单击按钮的实际位置不会改变,因此您必须实现自己的逻辑来处理此问题。
如何将窗口与视图一起设置动画?
谢谢
【问题讨论】:
-
你的
myView布局是什么样的?