【问题标题】:How to load two views with different animations when activity starts in android当活动在android中启动时如何加载具有不同动画的两个视图
【发布时间】:2015-07-24 21:20:52
【问题描述】:

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

我遵循了 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);

我在哪里犯了错误。

谢谢

【问题讨论】:

    标签: android android-animation android-transitions


    【解决方案1】:

    您可以使用ObjectAnimator 为您的视图设置动画。此代码将在 500 毫秒内沿 y 方向转换 view2

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

    【讨论】:

    • 感谢我的朋友,你解决了我一个星期以来一直在苦苦挣扎的问题。
    猜你喜欢
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多