0

Я разрабатываю приложение для Android (игру) с помощью viewpager, который содержит три фрагмента. У меня есть TranslateAnimation с некоторыми ImageViews, которые показывают: «Это ваша очередь, вы можете играть». В настоящее время показана моя анимация (нет, если это слово существует на английском языке ...?) Только на одном фрагменте, и если я сменю фрагмент, анимация будет продолжаться с тем же фрагментом, чтобы скрыть его.Как показать анимацию на всех фрагментах пейджера представления в android?

Мой вопрос: как показать анимацию перед тремя фрагментами, чтобы при изменении фрагмента анимация всегда была здесь?

Мой FragmentActivity с моим ViewPager:

public class Principal extends FragmentActivity { 

private PagerAdapter mPagerAdapter; 
private List<Fragment> fragments; 
private ViewPager pager; 

private AnimationMessage animAToiDeJouer; 
private AnimationMessage animDevoileTesCartes; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    super.setContentView(R.layout.principal); 
    DataModel.getInstance().setFragmentActivity(this); 

    // Création de la liste de Fragments que fera défiler le PagerAdapter 
    fragments = new Vector<Fragment>(); 

    // Ajout des Fragments dans la liste 
    fragments.add(Fragment.instantiate(this,PageGaucheFragment.class.getName())); 
    fragments.add(Fragment.instantiate(this,PageMilieuFragment.class.getName())); 
    fragments.add(Fragment.instantiate(this,PageDroiteFragment.class.getName())); 

    // Création de l'adapter qui s'occupera de l'affichage de la liste de Fragments 
    this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments); 

    pager = (ViewPager) super.findViewById(R.id.viewpager); 
    // Affectation de l'adapter au ViewPager 
    pager.setAdapter(this.mPagerAdapter); 
    pager.setOffscreenPageLimit(3);// Pour éviter de pb de disparition !! 
    pager.setCurrentItem(1); 

    ImageView atdj_bloc = (ImageView) findViewById(R.id.atdj_bloc); 
    ImageView atdj_haut = (ImageView) findViewById(R.id.atdj_haut); 
    ImageView atdj_bas = (ImageView) findViewById(R.id.atdj_bas); 
    ImageView dtc_bloc = (ImageView) findViewById(R.id.dtc_bloc); 
    ImageView dtc_haut = (ImageView) findViewById(R.id.dtc_barre_haut); 
    ImageView dtc_bas = (ImageView) findViewById(R.id.dtc_barre_bas); 

    animAToiDeJouer = new AnimationMessage(atdj_haut, atdj_bloc, atdj_bas); 
    animDevoileTesCartes = new AnimationMessage(dtc_haut, dtc_bloc, dtc_bas); 

} 
... 

И FragmentPagerAdapter:

public class MyPagerAdapter extends FragmentPagerAdapter { 

private final List<Fragment> fragments; 

//On fournit à l'adapter la liste des fragments à afficher 
public MyPagerAdapter(FragmentManager fm, List<Fragment> fragments) { 
    super(fm); 
    this.fragments = fragments; 
} 

@Override 
public Fragment getItem(int position) { 
    return (Fragment) this.fragments.get(position); 
} 

@Override 
public int getCount() { 
    return this.fragments.size(); 
} 

}

Я надеюсь, вы понимаете, что я хотел бы, спасибо!

ответ

0

Вы можете использовать ViewFlipper анимировать imageviews

https://stackoverflow.com/a/25729828/1557305

+0

Спасибо за ваш ответ, но PageTransformers являются анимации между фрагментами не так ли? Моя анимация на самом деле является TranslateAnimation с ImageViews, в которой говорится: «Сейчас ваша очередь, вы можете играть» – Will

+0

Я отредактировал свой ответ – Fahad

+0

Хорошо, но мои ImageViews уже анимированы. Проблема в том, что анимация показана только на одном фрагменте, поэтому, если я изменяю фрагмент, анимация не находится на новом текущем фрагменте (она скрыта на предыдущем). – Will

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

  • Нет связанных вопросов^_^