/ / Android - Artefakte mit Animation - Android, Animation

Android - Artefakte mit Animation - Android, Animation

Ich habe ein Problem mit visuellen Artefakten auf dem Bildschirm, wenn ich die gefundene 3D-Transformation anwende Hier. Ich habe das geändert, also dreht es sich um das xAchse anstelle von y. Wenn ich eine volle 180 Umdrehung mache (zuerst gehe ich von dir weg), bekomme ich einzelne Pixel Linienartefakte im unteren Bereich (unten 10-20%) von jeder anderen Ansicht, auf die dies angewendet wird. Ich verwende einen Selektor als Hintergrund eines LinearLayouts und verwende dann diese Animation. Kann mir jemand eine schnelle Lösung für dieses Problem vorstellen?

Danke für jede Hilfe!

Antworten:

11 für die Antwort № 1

Es stellt sich heraus, dass Sie nur die Elternansicht für jeden Animationsschritt ungültig machen müssen. Wenn Sie ein benutzerdefiniertes Animationsobjekt haben, können Sie dies einfach innerhalb von Animation.applyTransformation (...) tun.


0 für die Antwort № 2

Ich hatte ein ähnliches Problem mit einer 2D-Animationwo eine Ansicht vom Bildschirm verschoben wird (außerhalb der übergeordneten Ansicht). Meine Lösung war ziemlich einfach. In meiner benutzerdefinierten Ansicht annulliere ich einfach die Elternansicht, damit sie bei jedem Bild neu gezeichnet wird.

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
((View) this.getParent()).invalidate();
canvas.drawBitmap(icon, bm_x, bm_y, mPaint);
}