【问题标题】:LayoutTransition Class in NineOldAndroids..?NineOldAndroids 中的 LayoutTransition 类..?
【发布时间】:2015-09-05 16:11:51
【问题描述】:

我想在ViewGroup 中将视图添加为“向下滑动”并将视图删除为“向上滑动”。所以我使用了LayoutTransition.class,但它不支持minSdk 8。所以我找到了这个NineOldAndroids,并想知道我是否可以使用它来实现我想要的。

类似的,

LayoutTransition layoutTransition = new LayoutTransition();
        AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(getApplicationContext(),
                R.anim.slide);
        layoutTransition.setAnimator(LayoutTransition.APPEARING, set);

【问题讨论】:

    标签: android animation nineoldandroids


    【解决方案1】:

    很遗憾 NineOldAndroids 不支持 LayoutTransitions,因为它无法在 Gingerbread 中实现。

    【讨论】:

      【解决方案2】:

      在添加没有 LayoutTransition 的视图时,我还需要设置动画。 我不知道什么时候开始动画,所以我使用 LayoutAnimationController 来做 :

      // 一个假的 AlphaAnimation 让我们知道如何开始添加视图的动画 动画动画 = new AlphaAnimation(0, 0); 动画.setDuration(1); 动画.setFillAfter(true); animation.setAnimationListener(new Animation.AnimationListener() { @覆盖 public void onAnimationStart(动画动画) {
      } @Override public void onAnimationEnd(Animation animation) { // start the animation here startAddingViewAnimation(); } @Override public void onAnimationRepeat(Animation animation) { } }); ViewGroup viewroot = findViewById(R.id.viewroot); LayoutAnimationController layoutAnimationController = new LayoutAnimationController(animation); viewRoot.setLayoutAnimation(layoutAnimationController); viewRoot.addView(btn);

      设置一个 LayoutAnimationController 来通知我视图已添加并完成绘制。然后我就可以通过nineoldanimator启动动画了。

      【讨论】:

        猜你喜欢
        • 2015-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-04
        • 1970-01-01
        • 2015-09-14
        • 2015-04-23
        • 2015-02-11
        相关资源
        最近更新 更多