public class MainActivity extends AppCompatActivity {
MyView my_View;
private ValueAnimator animator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
my_View=findViewById(R.id.my_View);
indata();
animator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
Intent intent = new Intent(MainActivity.this,ShowActivity.class);
startActivity(intent);
finish();
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
}
private void indata() {
animator = new ValueAnimator();
animator.setDuration(5000);
animator.setObjectValues(new PointF(1,1));
animator.setInterpolator(new LinearInterpolator());
animator.setEvaluator(new TypeEvaluator() {
@Override
public Object evaluate(float v, Object startValue, Object endValue) {
PointF pointF = new PointF();
pointF.x=v*200*3;
pointF.y=0.56f*200*(3*v)*(3*v);
return pointF;
}
});
animator.start();
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
PointF pointF = (PointF) animation.getAnimatedValue();
my_View.setX(pointF.x);
my_View.setY(pointF.y);
}
});
}
public class MyView extends View {
int w=20;
public MyView(Context context) {
super(context);
}
public MyView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);
paint.setStrokeWidth(w);
RectF rectF = new RectF(5,5,100,100);
canvas.drawArc(rectF,360,360,false,paint);
}