4

我已经开始查看一些用于动画的外部 GWT库,但对于我想要的东西来说,它们似乎都有些矫枉过正。

我正在尝试模仿GWT 中的JQuery Tools 滚动标签插件来进行滚动导航(想想 iphone)。用户单击一个项目,页面滚动到该项目的子面板,该面板也可能有可以单击的子面板。

我需要做的就是在某个固定的时间速率内前后滑动一个 div,x 个像素

我发现的关于在 GWT 中编写动画的唯一真正教程是 2 岁,看起来有点冗长,(管理单个帧等......)

有没有更简单的解决方案可以轻松地将 div 从一个位置移动到另一个位置而不需要所有额外的麻烦?

请原谅我,但我来自 jQuery 编码,它简单而轻松地内置了它。

4

2 回答 2

4

GWT 2 内置的 Animation 类非常好。您需要做的就是扩展类,实现 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);
    }
}
于 2010-04-14T21:41:51.093 回答
0

出于我的目的,我只想为面板移动设置动画。事实证明这是 LayoutPanel 内置的,所以我根本不需要接触 Animation 类。

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

于 2011-03-23T05:42:03.627 回答