2016-05-10 3 views
0

Я не знаю, что здесь не так. Попытка сделать вертикальную анимацию между двумя действиями. Действие 1 должно скользить от видимого до нижнего. Мероприятие 2 должно скользить сверху вниз (становится видимым).андроид деятельность вертикальный переход анимация

Это то, что я хочу enter image description here

мой код

overridePendingTransition(R.anim.top_to_visible, R.anim.visible_to_bottom); 

top_to_visible.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_interpolator" 
android:fromYDelta="100%p" android:toYDelta="0%p" 
android:duration="300"/> 

visible_to_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/accelerate_interpolator" 
android:fromYDelta="0%p" android:toYDelta="-100%p" 
android:duration="300"/> 

Что здесь не так?

+3

вы сказали, что вы хотите, но вы не сказали, что вы получите :) – WarrenFaith

+0

, что я получаю активность один двигается вверх + активность 2 двигаться вверх (я хочу наоборот и реверсирование числа не решает это) – Bialy

ответ

3

Возможно ли, что вы думали, что ось у происхождения на дне? Потому что, когда я просто изменяю значения из/в значения, я получаю то, что вы хотите. 0% от y находится вверху. Точка 0/0 находится в верхнем левом углу. Поэтому на основе этого вам нужен «вниз», чтобы перейти от 0 до 100%, а «сверху видны» быть -100% до 0%

top_to_visible.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="300" 
     android:fromYDelta="-100%p" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toYDelta="0%p" /> 
</set> 

и visible_to_bottom

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="300" 
     android:fromYDelta="0%p" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toYDelta="100%p" /> 
</set> 
+0

Отлично! и да, я понял, что координация XY полностью неправильна :(СПАСИБО – Bialy

0

Попробуйте для visible_to_bottom.xml анимации ..

андроида: fromYDelta = "0% р" андроида: toYDelta = "100% р"

удалить отрицательный знак "-100% р" - > «100% p»

+0

Не работает ...... – Bialy

0

Вам необходимо будет использовать anim. Сначала нужно создать два XML-файлы и поместить их в res/anim

top_to_visible.xml

<?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="-100%p" 
    android:toYDelta="0" /> 

visible_to_bottom.xml

<?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" /> 
+0

Не работает .......... – Bialy