0

TextSwitcher オブジェクトと ImageSwitcher オブジェクトが既にセットアップされており、完全に (同時に) 動作する Android Studio プロジェクトがあります。問題は、TextSwitcher のアニメーションを最初に実行し、ImageSwitcher のアニメーションを 2 番目 (TextSwitcher アニメーションの終了後) に実行することです。TextSwitcher に AnimationListener を追加して、AnimationListener の「onAnimationEnd」メソッド内で ImageSwitcher の画像を変更しようとしましたが、うまくいきませんでした。

誰にもアイデアはありますか?どんな助けでも大歓迎です!

編集: アニメーション リスナーが機能するように管理されています。コードのスニペットは次のとおりです。

   private void loadPosts() {
        Post post = posts.get(currentPost);
        //..
        Animation outAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_out);
        outAnimation.setAnimationListener(new NextPostAnimation(post));
        textSwitcher.setOutAnimation(outAnimation);
        textSwitcher.setText("some text");

    }

    private class NextPostAnimation implements Animation.AnimationListener {
        Post post;

        NextPostAnimation (Post post) {
            super();
            this.post = post;
        }
        @Override
        public void onAnimationStart(Animation animation) {
             // TODO Auto-generated method stub
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onAnimationEnd(Animation animation) {
            imageSwitcher1.setImageDrawable(new BitmapDrawable(getResources(), post.image1));
        }
    }

オブジェクトのアニメーションを連鎖させるより短い方法はありますか?

4

1 に答える 1

-1

最初のアニメーション コールバックに 2 番目のアニメーションを配置する必要があります。以下は作業コードです。

$(function(){
	$('.textSwitcher').show(1000, function(){
    	$('.imageSwitcher').show(1000);
    });
})
.textSwitcher, .imageSwitcher {
    width: 100px;
    height: 100px;
    display: none;
}
.textSwitcher {
    background: red;
}

.imageSwitcher {
    background: blue;    
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="textSwitcher"></div>
<div class="imageSwitcher"></div>

于 2016-07-01T23:04:56.970 に答える