7
votes

Comment créer le carrousel ViewPager?

Tout ce que je veux faire est un carrousel horizontal à Android.

Si j'ai 3 écrans A B et C, alors je veux que mon visionneur me permet de me déplacer comme Un <-> B, B <-> c, C <-> a.

GTALK pour la conversation d'Android peut être commuté comme ceci. L'écran d'accueil et d'application de Samsung peuvent être commutés comme ceci.

A B et C sont des fragments et j'utilise un adaptateur qui étend fragmentpageradapter. Tous les fragments contiendront un webview.

J'ai regardé ici ici et ici mais aucun d'entre eux ne semble faire ce que je veux.

Quelqu'un peut-il me guider dans la bonne direction?


1 commentaires

Vous pouvez vérifier Ce didacticiel et ceci Exemple dans GitHub


3 Réponses :


0
votes

Implémentez le getItem (INT POSITION) CODE> Comme ceci:

public Fragment getItem(int position)
{
    switch(position)
    {
        case 0:
        Fragment A = new A();
        return A;
        case 1:
        Fragment B = new B();
        return B;
        same for C....
    }
}


2 commentaires

Je sais comment créer un visionneur de visualisation. Je veux savoir comment faire boucle. Comme l'écran A à b b b de c c à nouveau à nouveau.


Désolé, je pensais que vous posiez des questions sur la viewpager.



4
votes

(inter-poster Ma réponse à partir d'une question Identique Stackoverflow)

Une possibilité est la configuration des écrans tels que Ceci: p>

C 'ABC A' P>

C 'semble comme C, mais lorsque vous faites défiler là-bas, il vous permet de vous basculer sur le vrai C. A 'a l'air comme un, mais lorsque vous faites défiler là-bas, il vous permet de vous mettre au réel A. p>

Je ferais cela en implémentant OnpagescrollstatCHanged Comme: P>

@Override
public void onPageScrollStateChanged (int state) {
    if (state == ViewPager.SCROLL_STATE_IDLE) {
        int curr = viewPager.getCurrentItem();
        int lastReal = viewPager.getAdapter().getCount() - 2;
        if (curr == 0) {
            viewPager.setCurrentItem(lastReal, false);
        } else if (curr > lastReal) {
            viewPager.setCurrentItem(1, false);
        }
    }
}


1 commentaires

J'ai déjà essayé cela. Il y a d'autres problèmes supplémentaires. Si un point de vue a changé dans A alors doit également refléter la même chose. Comme si vous avez défilé dans A, puis si vous allez à un`, cela vous montrera l'écran non connecté pendant une seconde et provoque à nouveau le scintillement.



1
votes

Réglages de la visualisation: xxx

fragmentpageradapter: xxx


0 commentaires