Skip to content

Ease Animations for Buttons

Weiping Huang edited this page Mar 28, 2017 · 3 revisions

Use different and cute ease-animations for buttons.

Ease Animation

Ease animation, in other words, time interpolator, defines the rate of change of an animation. This allows animations to have non-linear motion, such as acceleration and deceleration. Check cubic-bezier to have some funs about ease animations.

In BMB, for each boom-button, there are 6 kinds of animation when booming or re-booming:

  1. Move animation when booming.
    Used by:
bmb.setShowMoveEaseEnum(EaseEnum.EaseOutBack);

Or in .xml:

app:bmb_showMoveEaseEnum="outBack"

The default value is EaseEnum.EaseOutBack

  1. Rotate animation when booming. Used by:
bmb.setShowRotateEaseEnum(EaseEnum.EaseOutBack);

Or in .xml:

app:bmb_showRotateEaseEnum="outBack"

The default value is EaseEnum.EaseOutBack

  1. Scale animation when booming.
bmb.setShowScaleEaseEnum(EaseEnum.EaseOutBack);

Or in .xml:

app:bmb_showScaleEaseEnum="outBack"

The default value is EaseEnum.EaseOutBack

  1. Move animation when re-booming. Used by:
bmb.setHideMoveEaseEnum(EaseEnum.EaseInBack);

Or in .xml:

app:bmb_hideMoveEaseEnum="inBack"

The default value is EaseEnum.EaseInBack

  1. Rotate animation when re-booming. Used by:
bmb.setHideRotateEaseEnum(EaseEnum.EaseInBack);

Or in .xml:

app:bmb_hideRotateEaseEnum="inBack"

The default value is EaseEnum.EaseInBack

  1. Scale animation when re-booming.
bmb.setHideScaleEaseEnum(EaseEnum.EaseInBack);

Or in .xml:

app:bmb_hideScaleEaseEnum="inBack"

The default value is EaseEnum.EaseInBack

Ease Enum

There are 31 kinds of ease animations. Check the EaseEnum file to try all the enums or in .xml:

<enum name="inSine" value="0"/>
<enum name="outSine" value="1"/>
<enum name="inOutSine" value="2"/>
<enum name="inQuad" value="3"/>
<enum name="outQuad" value="4"/>
<enum name="inOutQuad" value="5"/>
<enum name="inCubic" value="6"/>
<enum name="outCubic" value="7"/>
<enum name="inOutCubic" value="8"/>
<enum name="inQuart" value="9"/>
<enum name="outQuart" value="10"/>
<enum name="inOutQuart" value="11"/>
<enum name="inQuint" value="12"/>
<enum name="outQuint" value="13"/>
<enum name="inOutQuint" value="14"/>
<enum name="inExpo" value="15"/>
<enum name="outExpo" value="16"/>
<enum name="inOutExpo" value="17"/>
<enum name="inCirc" value="18"/>
<enum name="outCirc" value="19"/>
<enum name="inOutCirc" value="20"/>
<enum name="inBack" value="21"/>
<enum name="outBack" value="22"/>
<enum name="inOutBack" value="23"/>
<enum name="inElastic" value="24"/>
<enum name="outElastic" value="25"/>
<enum name="inOutElastic" value="26"/>
<enum name="inBounce" value="27"/>
<enum name="outBounce" value="28"/>
<enum name="inOutBounce" value="29"/>
<enum name="linear" value="30"/>