Я использую TransitionManager.beginDelayedTransition
, очерченный here , чтобы оживить два вида, заменяя позиции в RelativeLayout. Я делаю это, просто заменяя RelativeLayout.LayoutParams
двух двух видов.Android: Могу ли я слушать обновления анимации с помощью TransitionManager.beginDelayedTransition?
Мой вопрос заключается в том, как контролировать анимацию, которая автоматически создается и выполняется TransitionManager
, без необходимости создавать собственные пользовательские переходы. Мне нужно определить, когда анимация закончилась, чтобы я мог внести изменения в просмотренные представления.
Ниже приведен метод, который заменяет два вида. CollageCanvasAperture является расширением View
, а mApertureGroup - RelativeLayout, который содержит эти представления.
private void shuffle(int fromApertureInd, int toApertureInd) {
final CollageCanvasAperture fromV = (CollageCanvasAperture) mApertureGroup.getChildAt(fromApertureInd);
final CollageCanvasAperture toV = (CollageCanvasAperture) mApertureGroup.getChildAt(toApertureInd);
if (null == fromV || null == toV) {
return;
}
TransitionManager.beginDelayedTransition(mApertureGroup);
RelativeLayout.LayoutParams fromLP = (RelativeLayout.LayoutParams) fromV.getLayoutParams();
RelativeLayout.LayoutParams toLP = (RelativeLayout.LayoutParams) toV.getLayoutParams();
fromV.setLayoutParams(toLP);
toV.setLayoutParams(fromLP);
}
Я сделал несколько часов поиска здесь и расчесывать через TransitionManager
код, но не может видеть, как обнаружить изменения. Я предпочел бы, чтобы иметь возможность обнаруживать конец анимации в CollageCanvasAperture, но не может видеть, что соответствующие слушатели применяют.
Я предполагаю, что я мог бы предоставить представление с помощью LayoutParams назначения до того, как анимация будет выполнена, и тогда вид может прослушивать размер & изменений местоположения, пока они не совпадут ...?
Вы также можете использовать '= переход Автоматическая смена слайда новый Автоматическая смена слайда();', если вы хотите использовать по умолчанию переходы например. движущиеся виды –