0

Мне нужно создать активность с примерно 6 фрагментами, важно, чтобы fragmets анимировали в одном направлении и оживляли назад в том же направлении, в каком они вошли, я смог найти решение, которое будет анимировать анимацию ввода, но анимация выхода никогда не будет работать, любая помощь пройдет долгий путь благодаря!Фрагменты Android показывают анимацию выхода

активность

public class HomeFragmentActivity extends Activity { 

Fragment fr; 

Integer pagePosition; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_home_fragment); 

    pagePosition = 0; 

} 


public void categoryNavClick(View view) { 


     fr = new FragmentOne(); 

     FragmentManager fm = getFragmentManager(); 
     FragmentTransaction fragmentTransaction = fm.beginTransaction(); 
     fragmentTransaction.setCustomAnimations(R.anim.enter_right_anim, R.anim.enter_right_anim); 
     fragmentTransaction.replace(R.id.frHomeFragment, fr); 
     fragmentTransaction.commit(); 

     pagePosition = 0; 



} 

public void homeNavClick(View view) { 

     fr = new FragmentTwo(); 

     FragmentManager fm = getFragmentManager(); 
     FragmentTransaction fragmentTransaction = fm.beginTransaction(); 
     fragmentTransaction.setCustomAnimations(R.anim.enter_right_anim, R.anim.exit_right_anim); 
     fragmentTransaction.replace(R.id.frHomeFragment, fr); 
     fragmentTransaction.commit(); 

     pagePosition = 1; 

} 

}

enter_right_anim.xml

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

exit_right_anim.xml

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

Рассматривали ли вы используя пейджер представления вместе с макетом табуляции, оба являются частью библиотеки совместимости приложений и делают много усилий для вас, включая анимацию фрагментов и фрагментацию фрагментов, а также могут быть переданы в старые версии для Android. –

+0

К сожалению, другие представления не могут отображаться при переходе с одного взгляда на другое, то, что хочет клиент, - это навигация, аналогичная тому, что делает instagram для своего приложения. –

ответ

0

у вас есть та же анимация в входе и выходе в себе t настраиваемая анимация

попытайтесь поместить смещение во вводе фрагмента, то это будет выглядеть только после того, как первый уйдет, как и требование, которое вы рассказали о ", другие виды не отображаются при перемещении с одного вида к следующему, что клиент хочет»


обновление

выходящий вид анимированный на холсте зрения поступлению, поэтому вы создаете анимацию, как у вас есть, но ввод анимации пытаются поставить

android:startOffset="1000" 

тысячу офсет, потому что его 1 второй анимации другого фрагмента, чтобы исчезнуть

другая вещь была эта линия

fragmentTransaction.setCustomAnimations(R.anim.enter_right_anim, R.anim.enter_right_anim); 

он имеет ту же анимацию, чтобы войти и выйти

+0

Это первый раз, когда мне пришлось создавать этот тип макета, поэтому я я немного смущен ответом, вы могли бы показать пример базового кода? –

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