Ich versuche, Marginupdates oder Animationen auf eine untergeordnete Ansicht anzuwenden, deren übergeordnetes Element mit einem ViewDragHelper
gezogen wird.ViewDragHelper - Untergeordnete Layoutänderungen werden beim Ziehen ignoriert
Die aktualisierten Layouteigenschaften haben jedoch keine Auswirkungen und werden nicht wiedergegeben, während die Ansicht gezogen wird. Alles vom Hinzufügen und Entfernen von Ansichten, Layoutanimationen oder Layoutparamupdates wird beim Ziehen ignoriert:
Um dieses Problem zu veranschaulichen, habe ich eine verzögerte Runnable erstellt, die die Höhe einer Ansicht (die grüne Ansicht) nach 3 Sekunden aktualisiert :
spacer.postDelayed(new Runnable() {
@Override
public void run() {
Log.d(TAG,"set layout params!!!!");
ViewGroup.LayoutParams spacerParams = spacer.getLayoutParams();
spacerParams.height = (int) (200+(Math.random()*200));
spacer.setLayoutParams(spacerParams);
}
},3000);
prüfen diese Demo Screen-Recording: http://imgur.com/a/dDiGt
ViewDragHelper versetzt die verschobenen View-Übersetzungswerte meines Wissens nach nur, es führt nicht wirklich Änderungen durch, die ein Re-Layout verursachen. – Karakuri
"Ansicht, gezogen mit einem' ViewDragHelper' "ist eine sehr vage Beschreibung. Ist das eine benutzerdefinierte Komponente? Wie benutzt du es eigentlich? – user1643723
@ user1643723 https://developer.android.com/reference/android/support/v4/widget/ViewDragHelper.html – Richard