public void close() { float width = this.getWidthXY(TransformSpace.RELATIVE_TO_PARENT); // IAnimation closeAnim = new Animation("Window Fade", new MultiPurposeInterpolator(width, 1, // 350, 0.2f, 0.5f, 1), this); IAnimation closeAnim = new AniAnimation(width, 1, 350, AniAnimation.SINE_IN, this); closeAnim.addAnimationListener( new IAnimationListener() { public void processAnimationEvent(AnimationEvent ae) { // float delta = ae.getAnimation().getInterpolator().getCurrentStepDelta(); switch (ae.getId()) { case AnimationEvent.ANIMATION_STARTED: case AnimationEvent.ANIMATION_UPDATED: float currentVal = ae.getAnimation().getValue(); setWidthXYRelativeToParent(currentVal); rotateZ(getCenterPointRelativeToParent(), -ae.getDelta() * 0.3f); break; case AnimationEvent.ANIMATION_ENDED: setVisible(false); destroy(); break; default: break; } // switch } // processanimation }); closeAnim.start(); }
/** * Shows a disappearing animation and closes the AbstractOverlay instance. * * <p>Adapted from {@link org.mt4j.components.visibleComponents.widgets.keyboard.MTKeyboard} * * @see MTKeyboard#close() */ private void onCloseButtonTapped() { log.debug("Entering onCloseButtonTapped()"); // $NON-NLS-1$ // Get width float width = this.getWidthXY(TransformSpace.RELATIVE_TO_PARENT); // Create new animation IAnimation overlayCloseAnim = new Animation( "Status Message Fade", new MultiPurposeInterpolator(width, 1, 300, 0.2f, 0.5f, 1), this); //$NON-NLS-1$ // Add Animation listener to animation overlayCloseAnim.addAnimationListener( new IAnimationListener() { @Override public void processAnimationEvent(AnimationEvent ae) { switch (ae.getId()) { case AnimationEvent.ANIMATION_STARTED: case AnimationEvent.ANIMATION_UPDATED: // Get animation value float currentVal = ae.getAnimation().getValue(); // Set StatusMessageDialog width the animation value setWidthRelativeToParent(currentVal); break; case AnimationEvent.ANIMATION_ENDED: // Set AbstractOverlayDefaultList instance invisible and // destroy setVisible(false); destroy(); break; default: break; } } }); // Start Animation overlayCloseAnim.start(); log.debug("Leaving onCloseButtonTapped()"); // $NON-NLS-1$ }