Próbuję zastosować aktualizacje marginesów lub animacje do widoku podrzędnego, którego element nadrzędny jest przeciągany przy użyciu ViewDragHelper
.ViewDragHelper - Zmiany układu potomnego są ignorowane podczas przeciągania
Jednak zaktualizowane właściwości układu nie mają wpływu i nie są renderowane podczas przeciągania widoku. Wszystko, od dodawania i usuwania widoków, do animacji układu lub aktualizacji parametrów układu, jest ignorowane podczas przeciągania:
Utworzyłem opóźnioną operację, która aktualizuje wysokość widoku (zielony widok) po 3 sekundach :
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);
Sprawdź to demo nagrywania ekranu: http://imgur.com/a/dDiGt
Zgodnie z moją wiedzą ViewDragHelper jedynie przesuwa wartości przesunięcia widoku, ale nie dokonuje zmian, które powodują zmianę układu. – Karakuri
"Widok, przeciągnięty za pomocą' ViewDragHelper' "jest bardzo ogólnikowym opisem. Czy to jest komponent niestandardowy? Jak właściwie go używasz? – user1643723
@ user1643723 https://developer.android.com/reference/android/support/v4/widget/ViewDragHelper.html – Richard