我想知道是否可以在隐藏/展示面板上使用简单的gwt制作动画(没有附加的图书馆)。
欢迎任何建议。
谢谢
答案 0 :(得分:3)
GWT的布局类支持动画。查看Layout
,DockLayout
en SplitLayout
。此外,还有一个Animation
类,在几个面板中用于使用动画来显示/隐藏内容。只需使用Animation类检查类。
答案 1 :(得分:3)
也许您会发现此代码对NotificationMole:
有用private class MoleAnimation extends Animation {
private int endSize;
private int startSize;
@Override
protected void onComplete() {
if (endSize == 0) {
borderElement.getStyle().setDisplay(Display.NONE);
return;
}
borderElement.getStyle().setHeight(endSize, Unit.PX);
}
@Override
protected void onUpdate(double progress) {
double delta = (endSize - startSize) * progress;
double newSize = startSize + delta;
borderElement.getStyle().setHeight(newSize, Unit.PX);
}
void animateMole(int startSize, int endSize, int duration) {
this.startSize = startSize;
this.endSize = endSize;
if (duration == 0) {
onComplete();
return;
}
run(duration);
}
}
用法:
隐藏面板:
animation.animateMole(heightMeasure.getOffsetHeight(),0, animationDuration);
显示:
borderElement.getStyle()setDisplay(Display.BLOCK);
animation.animateMole(0,heightMeasure.getOffsetHeight(),animationDuration);
borderElement
- 容器DivElement和heightMeasure
- 内部DivElement。