代码之家  ›  专栏  ›  技术社区  ›  Gugan

延迟Java中的循环以获得动画效果

  •  4
  • Gugan  · 技术社区  · 11 年前

    我知道这是一个重复的问题。但是,没有答案帮助我解决了我的问题。 我正在做一个项目 Vaadin 。因为我的布局很少( ref this links to understand my layout ). 当我按下一个按钮时,我需要将组件滑入和滑出。而且,我成功地做到了。

    但是,我的问题是;为了让它感觉更好,我想放慢滑动效果。所以,它看起来像是一部动画。我通过将setExpandRatio()从1更改为0来滑动组件。

    setExpandRatio(component, 1.0f);
    

    setExpandRatio(component, 0f);
    

    这样它就会滑动。

    为了减缓滑行速度,我尝试了这个。

    float i = 1.0;
    while(i >= 0)
    {
      setExpandRatio(component, i);
      i = i - 0.1;
      try {
        Thread.sleep(1000);
          } 
        catch(InterruptedException ex) {}
    }
    

    它只需等待1秒,然后迅速滑下组件。我也试过使用

    wait(1000);
    

    但是,没有用。 以前有人解决过这个问题吗?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Henri Kerola    11 年前

    看看 Animator 附加组件,它提供了通过使用浏览器的客户端功能来制作组件动画的好方法。