如何在 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();
我有一个 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();