0

我已经搜索了一段时间,似乎找不到关于这个主题的任何有用的东西。是否可以将 LayoutTransition 的动画设置为 XML 中声明的动画?默认动画将淡化从 ViewGroup 添加或删除的视图,并相应地移动其他视图,但我想让视图滑入或滑出到一侧。我尝试了以下方法从 Animation 对象设置 Animator,但它似乎没有做任何事情。我只是设置了我发现在这两种类型中常见的字段,但我真的不知道我在用动画做什么。

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setLayoutTransition() {
    LayoutTransition transition = new LayoutTransition();

    Animation appearing = AnimationUtils.loadAnimation(context, android.R.anim.slide_in_left);
    Animator aa = transition.getAnimator(LayoutTransition.APPEARING);
    aa.setDuration(appearing.getDuration());
    aa.setInterpolator(appearing.getInterpolator());

    Animation disappearing = AnimationUtils.loadAnimation(context, android.R.anim.slide_out_right);
    Animator bb = transition.getAnimator(LayoutTransition.DISAPPEARING);
    bb.setDuration(disappearing.getDuration());
    bb.setInterpolator(disappearing.getInterpolator());

    transition.setAnimator(LayoutTransition.APPEARING, aa);
    transition.setAnimator(LayoutTransition.DISAPPEARING, bb);

    dashboardLayout.setLayoutTransition(transition);
}
4

1 回答 1

1

不,你不能。实际上,AnimationAnimator是 A​​PI 的不同部分,针对的任务略有不同。

Animators 用于值动画,Animations 用于视图动画。因此,anAnimator可以为对象具有的任何属性设置动画,但您必须指定内容和方式。Animations 不太灵活,但有一些现成的视图配方。

因此,在您的情况下,您可以Animator从头开始定义 s 或Animation在涉及布局更改的视图上手动启动 s - 后者是可能的,但我觉得它会比前者更麻烦。

使用s,您也可以轻松地在文件Animator中定义它们,这就是它的全部内容.xml

于 2014-05-17T08:31:19.550 回答