如何在 activity 开始于 android 时加载具有不同动画的两个视图

How to load two views with different animations when activity starts in android

我有一个 activity 有 2 个视图。当 activity 开始时,我希望第一个视图应该从顶部滑动,而第二个视图应该从底部滑动。

我已按照 android 教程进行操作,但过渡应用于整个 Activity 布局视图,而不是单个视图。

我尝试使用 TransitionSet,但没有成功。我的代码:

TransitionSet set = new TransitionSet();

    View view1 = (View) findViewById(R.id.layout1);
    Transition slideUp = new Slide(Gravity.TOP);
    slideUp.addTarget(view1);
    slideUp.setStartDelay(15000);
    slideUp.setDuration(5000);
    set.addTransition(slideUp);
    TransitionManager.beginDelayedTransition((ViewGroup)view1, slideUp);


    View view2 = (View) findViewById(R.id.layout2);
    Transition slideDown = new Slide(Gravity.BOTTOM);
    slideDown.addTarget(view2);
    slideDown.setStartDelay(15000);
    slideDown.setDuration(5000);
    set.addTransition(slideDown);
    TransitionManager.beginDelayedTransition((ViewGroup)view2, slideDown);

    getWindow().setEnterTransition(set);
    getWindow().setExitTransition(set);

我哪里出错了

谢谢

您可以使用 ObjectAnimator 为您的视图添加动画效果。此代码将在 500 毫秒内沿 y 方向平移 view2

ObjectAnimator objectAnimator= ObjectAnimator.ofFloat(view2, "translationY", 0, -200);
objectAnimator.setDuration(500);
objectAnimator.start();