package com.daasuu.FPSAnimator;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import com.daasuu.FPSAnimator.util.UIUtil;
import com.daasuu.library.DisplayObject;
import com.daasuu.library.FPSTextureView;
import com.daasuu.library.callback.AnimCallBack;
import com.daasuu.library.drawer.BitmapDrawer;
import com.daasuu.library.drawer.TextDrawer;
import com.daasuu.library.easing.Ease;
import com.daasuu.library.util.Util;
public class TweenSampleActivity extends AppCompatActivity {
private FPSTextureView mFPSTextureView;
public static void startActivity(Context context) {
Intent intent = new Intent(context, TweenSampleActivity.class);
context.startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tween_sample);
mFPSTextureView = (FPSTextureView) findViewById(R.id.animation_texture_view);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
DisplayObject bitmapDisplayA = new DisplayObject();
bitmapDisplayA
.with(new BitmapDrawer(bitmap))
.tween()
.toX(1600, UIUtil.getWindowWidth(this) - bitmap.getWidth(), Ease.BACK_IN_OUT)
.waitTime(1000)
.alpha(1000, 0f)
.alpha(1000, 1f)
.call(new AnimCallBack() {
@Override
public void call() {
Snackbar.make(mFPSTextureView, "BitmapA animation finished!", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
})
.end();
BitmapDrawer bitmapDrawer = new BitmapDrawer(bitmap)
.dpSize(this)
.scaleRegistration(Util.convertPixelsToDp(bitmap.getWidth(), this) / 2, Util.convertPixelsToDp(bitmap.getHeight(), this) / 2);
DisplayObject bitmapDisplayB = new DisplayObject();
bitmapDisplayB.with(bitmapDrawer)
.tween()
.tweenLoop(true)
.transform(300, 400)
.to(500, 300, 400, 0, 6f, 6f, 0, Ease.SINE_IN_OUT)
.waitTime(300)
.transform(300, 400, Util.convertAlphaFloatToInt(1f), 1f, 1f, 0)
.waitTime(300)
.end();
Paint paint = new Paint();
paint.setColor(ContextCompat.getColor(this, R.color.colorAccent));
paint.setTextSize(Util.convertDpToPixel(16, this));
String tweenTxt = "TweenText";
TextDrawer textDrawer = new TextDrawer(tweenTxt, paint)
.rotateRegistration(paint.measureText(tweenTxt) / 2, paint.getTextSize() / 2);
DisplayObject textDisplay = new DisplayObject();
textDisplay.with(textDrawer)
.tween()
.tweenLoop(true)
.transform(0, 800)
.waitTime(300)
.to(1000, UIUtil.getWindowWidth(this) - paint.measureText(tweenTxt), 800, 720f, Ease.SINE_OUT)
.waitTime(300)
.to(1000, 0, 800, 0f, Ease.SINE_IN)
.end();
mFPSTextureView
.addChild(bitmapDisplayA)
.addChild(bitmapDisplayB)
.addChild(textDisplay);
}
@Override
protected void onResume() {
super.onResume();
mFPSTextureView.tickStart();
}
@Override
protected void onStop() {
super.onStop();
mFPSTextureView.tickStop();
}
}