xml中
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="wrap_content" android:layout_height="wrap_content" tools:context="com.bwie.yuekaomoni.MainActivity"> <com.bwie.yuekaomoni.utils.Circle android:id="@+id/circle" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
MainActivity
public class MainActivity extends AppCompatActivity { private Circle circle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Circle c= (Circle) findViewById(R.id.circle); ObjectAnimator transkationY = ObjectAnimator.ofFloat(c,"translationY", 0, 600f);//动画 ObjectAnimator transkationX = ObjectAnimator.ofFloat(c,"translationX", 0, 600f); AnimatorSet animatorSet = new AnimatorSet(); animatorSet.play(transkationY).with(transkationX); animatorSet.setDuration(3000); animatorSet.start(); animatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animator) { } @Override public void onAnimationEnd(Animator animator) { Intent intent=new Intent(MainActivity.this,ZhuyeActivity.class); startActivity(intent); } @Override public void onAnimationCancel(Animator animator) { } @Override public void onAnimationRepeat(Animator animator) { } }); } }Circle
public class Circle extends View{ public Circle(Context context) { super(context); } public Circle(Context context, AttributeSet attrs) { super(context, attrs); } public Circle(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint p=new Paint(); p.setColor(getResources().getColor(R.color.colorPrimary)); p.setStrokeWidth(20); canvas.drawCircle(50,50,50,p); } }
本文介绍了一个使用XML定义布局的示例,并展示了如何通过Java代码实现视图元素的动画效果,包括设置动画属性和监听动画结束以进行页面跳转。
416

被折叠的 条评论
为什么被折叠?



