Ich mache eine benutzerdefinierte Android-Build, in dem mein Service eine Ansicht über jeder App hinzufügt. Mit dem folgenden Code:Animieren von Android-Fenster zusammen mit der Ansicht
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);
Ich bin in der Lage, die Ansicht erfolgreich hinzuzufügen. Ich animiere die Ansicht mit
PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("x", 300);
ObjectAnimator.ofPropertyValuesHolder(myView, pvhX).start();
Ich sehe die Ansicht animieren, aber nicht das Fenster. Das transparente Fenster, in dem sich die Ansicht befand, animiert nicht. Dies ist das gleiche Verhalten wie in Android Property Animation
Ein weiterer Nachteil der Ansicht Animationssystem beschrieben ist, dass es nur dann geändert, wenn die Ansicht gezogen wurde, und nicht die tatsächliche Ansicht selbst. Wenn Sie beispielsweise eine Schaltfläche animieren, um sich über den Bildschirm zu bewegen, wird die Schaltfläche korrekt gezeichnet, aber der tatsächliche Speicherort, an dem Sie auf die Schaltfläche klicken können, ändert sich nicht. Daher müssen Sie Ihre eigene Logik implementieren.
Wie animiere ich das Fenster zusammen mit der Ansicht?
Dank
Was ist Ihr 'myView' Layout aussehen? – tachyonflux