2010-04-14 5 views
4

J'ai commencé à regarder quelques bibliothèques externalGWT pour les animations, mais elles semblaient toutes un peu exagérées pour ce que je veux.Easy GWT Animations

J'essaie d'imiter JQuery Tools scrollabel plugin dans GWT pour une navigation de défilement (pensez iphone). L'utilisateur clique sur un élément, la page défile sur le panneau enfant de cet élément, qui peut également avoir des enfants sur lesquels il est possible de cliquer.

Tout ce que je dois faire est de glisser un div, x nombre de pixels en arrière et en avant sur un certain taux fixe de temps

Le seul vrai tutorial je l'ai trouvé sur des animations par écrit dans GWT est de 2 ans et semble un peu verbeux, (gestion des cadres individuels etc ...)

Y a-t-il une solution plus simple pour déplacer facilement un div d'une position à une autre sans avoir besoin de tout le croup supplémentaire? Pardonnez-moi, mais je viens du codage jQuery qui a ceci intégré simplement et facilement.

Répondre

4

La classe d'animation intégrée de GWT 2 est assez bonne. Tout ce que vous avez à faire est d'étendre la classe, d'implémenter onUpdate(), puis d'appeler run() pour démarrer l'animation. Je ne l'ai pas utilisé la propriété scrollTop donc je ne peux pas garantir que cela fonctionne bien, mais il devrait vous donner l'idée de base:

public class ScrollAnimation extends Animation { 
    private final Element e; 
    private int scrollStart; 
    private int scrollStop; 

    public ScrollAnimation(Element e) { 
     this.e = e; 
    } 

    public scrollTo(int position, int milliseconds) { 
     scrollStart = e.getPropertyInt("scrollTop"); 
     scrollStop = position; 
     run(milliseconds); 
    } 

    @Override 
    protected void onUpdate(double progress) { 
     int position = scrollStart + (int)(progress * (scrollStop - scrollStart)); 
     e.setPropertyInt("scrollTop", position); 
    } 
} 
+0

thx je vais essayer quand je reçois une chance. Une chose cependant, votre constructeur est nommé faux. – brad

+0

ok cela "fonctionne" mais voir mon prochain post pour savoir pourquoi cela ne fonctionne pas exactement à droite: http://stackoverflow.com/questions/2669065/gwt-animation-final-value-is-not-respect – brad