A little animation framework which could help you to show message in a nice looking way.
- Create
TextSurface
instance or add it in your layout. - Create
Text
instancies withTextBuilder
defining appearance of text and position:
Text textDaai = TextBuilder
.create("Daai")
.setSize(64)
.setAlpha(0)
.setColor(Color.WHITE)
.setPosition(Align.SURFACE_CENTER).build();
- Create animations and pass them to the
TextSurface
instance:
textSurface.play(
new Sequential(
Slide.showFrom(Side.TOP, textDaai, 500),
Delay.duration(500),
Alpha.hide(textDaai, 1500)
)
);
See full sample here
.
-
To play animations sequentially use
Sequential.java
-
To play animations simultaneously use
Parallel.java
-
Animations/effects could be combined like this:
new Parallel(Alpha.show(textA, 500), ChangeColor.to(textA, 500, Color.RED))
i.e. alpha and color of text will be changed simultaneously in 500ms
There're two basic classes which you could extend to add custom animation:
AbstractSurfaceAnimation.java
to animate basic parameters likealpha
,translation
,scale
and others. (SeeAlpha.java
orChangeColor.java
)ITextEffect.java
interface which could be used for more complex animations. (SeeRotate3D.java
orShapeReveal.java
)
The framework is based on standard android animation classes which uses reflection
extensively. To avoid obfuscation you need to exclude classes of the framework:
-keep class su.levenetc.android.textsurface.** { *; }
repositories {
maven { url "https://jitpack.io" }
}
//...
dependencies {
//...
compile 'com.github.elevenetc:textsurface:0.9.1'
}