Это было некоторое время, так как этот вопрос был задан вопрос, но вот ответ для других людей, приезжающих сюда:
e1da является правильным, поскольку, что setCustomAnimation()
вызов должен быть вызван до replace()
. В противном случае анимация не будет отображаться.
Вторая проблема заключается в том, что вы, вероятно, используете собственные фрагменты, которые нельзя анимировать с помощью анимаций вида.
Используйте следующие файлы:
slide_in_up.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<objectAnimator
android:duration="500"
android:propertyName="y"
android:valueFrom="1280"
android:valueTo="0"
android:valueType="floatType" />
</set>
slide_out_up.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<objectAnimator
android:duration="500"
android:propertyName="y"
android:valueFrom="0"
android:valueTo="-1280"
android:valueType="floatType" />
</set>
Небольшое пояснение:
Вы должны различать вид анимации для фрагментов поддержки а также для анимации родных и родственных фрагментов.
Просмотр анимации:
ли до Android 3.0 способ оживить взгляды. Пример кода для этого является slide_in.xml
и slide_up.xml
по user3093402
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0%p"
android:toYDelta="100%p" />
Стоит отметить, вы не можете анимировать фрагментов с видом анимации. Исключение составляют фрагменты из библиотеки поддержки (android.support.v4.app.Fragment).
анимация недвижимости
Это способ анимации объектов после того, как Android 3.0. Он также объявляется как .xml-файлы, но использует тег «valueAnimator» (objectAnimator расширяет valueAnimator). Примеры находятся в ответе на вопрос. Так можно анимировать собственные фрагменты (android.app.Fragment).
Смотрите также:
Надеется, что это помогает,
Каю
EDIT: Как отметил Рафаэль Роер-Rivard фиксированного экрана размер - плохая практика. Было бы лучше использовать константу из ОС, как в getWindowManager().getDefaultDisplay().getMetrics(metrics).xdpi
(см. DisplayMetrics). Но я не занимался разработкой Android в течение некоторого времени, поэтому не знаю, какой из них.
transaction.commit(): P – Pankaj