2

ビューを「スライドダウン」として追加し、ビューを「スライドアップ」としてアニメーション化したいと思いますViewGroup。だから私は使用LayoutTransition.classしましたが、サポートされていませんminSdk 8。だから私はこのNineOldAndroidsを見つけて、これを使って私が望むものを達成できるかどうか疑問に思っていました.

このようなもの、

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

2 に答える 2

3

残念ながら、Gingerbread では実装できないため、NineOldAndroids は LayoutTransitions をサポートしていません。

于 2013-04-17T23:45:26.513 に答える
0

LayoutTransition を使用せずにビューを追加する場合も、アニメーション化する必要があります。アニメーションを開始するタイミングがわからないので、LayoutAnimationController を使用して次のことを行います。

     // ビューを追加するアニメーションを開始する方法を知るための偽の AlphaAnimation
      アニメーション animation = new AlphaAnimation(0, 0);
        animation.setDuration(1);
        animation.setFillAfter(真);
        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-09-05T07:43:36.947 に答える