2015-07-28 3 views
0

Я создам приложение, которое может перейти от одной сцены к другой с помощью салфетки на экране. Каждая из этих сцен выполняет разные функции, однако я хочу, чтобы переход был анимирован плавно, как если бы две сцены были связаны.Android: переход между двумя сценами

Было бы лучше сделать два действия и добавить переходы между ними или сделать операцию с фрагментами?

+0

дайте мне знать, если ниже поможет вам –

+0

Спасибо за ответ! На самом деле я просто задавался вопросом, следует ли мне использовать отдельные действия или одно действие с фрагментами. –

ответ

1

Эти методы должны анимировать фрагменты (немного более сложным, чем это, но этот пример поможет вам начать :)) -

private void animateSwipe(int layoutContainerID, Fragment fragment, String fragmentTag) { 
    FragmentTransaction fragmentTransaction = getFragmentTransactionWithAnimation(true); 
    fragmentTransaction.replace(layoutContainerID, fragment, fragmentTag); 
    fragmentTransaction.addToBackStack(null); 
    fragmentTransaction.commit(); 
    fragmentTransaction = null; 
} 


private FragmentTransaction getFragmentTransactionWithAnimation(boolean swipeLeft) { 
    FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction(); 

    if(swipeLeft) 
     fragmentTransaction.setCustomAnimations(R.animator.animate_in, R.animator.animate_out); 
    else 
     fragmentTransaction.setCustomAnimations(R.animator.animate_in_from_right, R.animator.animate_out_to_left); 

    return fragmentTransaction; 
} 

Вот это XML файлы анимации (поместить в папку с именем аниматора в Рез папке -

animate_in.xml -

<?xml version="1.0" encoding="utf-8"?> 
<objectAnimator 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:propertyName="xFraction" 
android:valueType="floatType" 
android:valueFrom="-1" 
android:valueTo="0" 
android:duration="1000"/> 

animate_out.xml -

<?xml version="1.0" encoding="utf-8"?> 
<objectAnimator 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:propertyName="xFraction" 
android:valueType="floatType" 
android:valueFrom="0" 
android:valueTo="1" 
android:duration="1000"/> 

animate_out_to_left.xml -

<?xml version="1.0" encoding="utf-8"?> 
<objectAnimator 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:propertyName="xFraction" 
android:valueType="floatType" 
android:valueFrom="0" 
android:valueTo="-1" 
android:duration="1000"/> 

animate_in_from_right.xml -

<?xml version="1.0" encoding="utf-8"?> 
<objectAnimator 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:propertyName="xFraction" 
android:valueType="floatType" 
android:valueFrom="1" 
android:valueTo="0" 
android:duration="1000"/> 
Смежные вопросы