package com.daasuu.FPSAnimator; import android.content.Context; import android.content.Intent; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.SweepGradient; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.daasuu.FPSAnimator.util.UIUtil; import com.daasuu.library.DisplayObject; import com.daasuu.library.FPSTextureView; import com.daasuu.library.drawer.CircleDrawer; import com.daasuu.library.drawer.CustomDrawer; import com.daasuu.library.drawer.RectDrawer; import com.daasuu.library.easing.Ease; import com.daasuu.library.util.Util; public class CustomDrawerSampleActivity extends AppCompatActivity { private FPSTextureView mFPSTextureView; public static void startActivity(Context context) { Intent intent = new Intent(context, CustomDrawerSampleActivity.class); context.startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_custom_drawer_sample); mFPSTextureView = (FPSTextureView) findViewById(R.id.animation_texture_view); final Paint sweepGradientPaint = new Paint(); int[] colors = {0xFFFF0000, 0xFFFFFF00, 0xFFFF00FF}; SweepGradient sg = new SweepGradient(UIUtil.getWindowWidth(this) / 2, UIUtil.getWindowHeight(this) / 2, colors, null); sweepGradientPaint.setShader(sg); final Paint paint1 = new Paint(); paint1.setShader(sg); final Paint paint2 = new Paint(); paint2.setColor(ContextCompat.getColor(getApplicationContext(), R.color.circle2)); final Paint paint3 = new Paint(); paint3.setColor(ContextCompat.getColor(getApplicationContext(), R.color.circle3)); CustomDrawer customDrawer = new CustomDrawer(new CustomDrawer.CustomDraw() { @Override public void draw(Canvas canvas, float x, float y, int alpha) { paint1.setAlpha(alpha); paint2.setAlpha(alpha); paint3.setAlpha(alpha); canvas.drawCircle(x, y, 100, paint3); canvas.drawRect(x - 60, y - 60, x + 60, y + 60, paint2); canvas.drawCircle(x, y, 35, paint1); } @Override public float getWidth() { return 100; } @Override public float getHeight() { return 100; } }); DisplayObject displayObject1 = new DisplayObject(); displayObject1.with(customDrawer) .parabolic() .accelerationX(-7) .transform(UIUtil.getWindowWidth(this) / 3, UIUtil.getWindowHeight(this) / 6) .end(); CircleDrawer circleDrawer = new CircleDrawer(sweepGradientPaint, 100) .scaleRegistration(100, 100); DisplayObject displayObject2 = new DisplayObject(); displayObject2.with(circleDrawer) .parabolic() .accelerationX(9) .transform(UIUtil.getWindowWidth(this) / 2, UIUtil.getWindowHeight(this) / 4) .end(); DisplayObject displayObject3 = new DisplayObject(); displayObject3.with(circleDrawer) .parabolic() .transform(UIUtil.getWindowWidth(this) / 2, UIUtil.getWindowHeight(this) / 4) .accelerationX(-9) .end(); DisplayObject displayObject4 = new DisplayObject(); displayObject4.with(circleDrawer) .parabolic() .end(); RectDrawer rectDrawer = new RectDrawer(sweepGradientPaint, 200, 300); DisplayObject displayObject5 = new DisplayObject(); displayObject5.with(rectDrawer) .parabolic() .transform(UIUtil.getWindowWidth(this) / 2, 0) .end(); DisplayObject displayObject6 = new DisplayObject(); displayObject6.with(rectDrawer) .parabolic() .transform(UIUtil.getWindowWidth(this) / 2, 0) .accelerationX(-10) .initialVelocityY(-5) .end(); mFPSTextureView .addChild(displayObject1) .addChild(displayObject2) .addChild(displayObject3) .addChild(displayObject4) .addChild(displayObject5) .addChild(displayObject6) ; } @Override protected void onResume() { super.onResume(); mFPSTextureView.tickStart(); } @Override protected void onStop() { super.onStop(); mFPSTextureView.tickStop(); } }