2012-06-10 2 views
10

Я хотел бы оживить переход между двумя фрагментами, который выполняется благодаря FragmentTransaction.replace(). Я хотел бы указать свою пользовательскую анимацию в файле XML.Фрагмент анимации: разница между setCustomAnimations и setTransitionStyle

В чем разница между звонками FragmentTransaction.setCustomAnimations() и FragmentTransaction.setTransitionStyle()?

Спасибо.

ответ

26

setCustomAnimations(int, int, int, int) позволяет напрямую указать ресурсы анимации. Если вы используете setTransitionStyle(int), с другой стороны, вам нужно будет указать их с помощью FragmentAnimation style и setTransition(int).

Стоит отметить, что библиотека совместимости игнорируетsetTransitionStyle(int), так что если вы используете его, вы должны использовать setCustomAnimations(int, int, int, int) наверняка.

Для получения дополнительной информации по этому вопросу, проверить это excellent post about Fragment states and Fragment animations

+0

MAAAAAAn thanl вам за ссылку! –

+14

Я добавлю здесь, что важно вызывать 'setCustomAnimations()' ** ПЕРЕД **, вы вызываете 'add()' или 'replace()', в противном случае он игнорируется. Эта недокументированная вещь стоила мне времени. Также вы можете указать 0 для аргументов, в которых вам не нужны анимации. – smok

+0

отлично, будьте осторожны, чтобы использовать ft.setCustomAnimations до ft.replace он решил мою проблему –

Смежные вопросы