Easy GWT Animations - PullRequest
       33

Easy GWT Animations

4 голосов
/ 14 апреля 2010

Я начал смотреть на некоторые внешние GWT библиотеки для анимации, но все они казались немного излишними для того, что я хочу.

Я пытаюсь имитировать JQuery Tools scrollabel плагин в GWT для прокрутки навигации (думаю, iphone). Пользователь щелкает элемент, страница прокручивается на дочернюю панель этого элемента, на которой также могут быть дочерние элементы, по которым можно щелкнуть.

Все, что мне нужно сделать, - это сдвинуть деление на x пикселей на несколько вперед и назад в течение некоторого фиксированного времени

Единственный настоящий учебник , который я нашел при написании анимаций в GWT, 2 года и кажется немного многословным (управление отдельными кадрами и т. Д.)

Нет ли более простого решения для простого перемещения элемента div из одной позиции в другую, не требуя дополнительных затрат?

Простите, но я исхожу из кодирования jQuery, в которое это встроено просто и легко.

Ответы [ 2 ]

4 голосов
/ 15 апреля 2010

GWT 2 встроенный в классе анимации довольно хорошо. Все, что вам нужно сделать, это расширить класс, реализовать onUpdate (), а затем вызвать run () для запуска анимации. Я не использовал свойство scrollTop, поэтому не могу гарантировать, что это будет работать правильно, но оно должно дать вам основную идею:

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 голосов
/ 23 марта 2011

Для моих целей я просто хотел анимировать перемещение панели. Оказывается, это встроено в LayoutPanel, поэтому мне вообще не нужно было трогать класс Animation.

http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#Animation

...