链接TextSwitcher和ImageSwitcher

时间:2016-07-01 22:56:22

标签: android animation chain imageswitcher textswitcher

我有一个带有TextSwitcher和ImageSwitcher对象的android工作室项目已经设置并完美地工作(同时)。 问题是,我希望首先执行TextSwitcher的动画,然后是ImageSwitcher的动画(在TextSwitcher动画结束之后)。 我尝试将一个AnimationListener添加到TextSwitcher并在' onAnimationEnd'中更改ImageSwitcher的图像。 AnimationListener的方法,但它没有工作。

有没有人有任何想法? 任何帮助将不胜感激!

编辑: Manged让动画监听器工作,这里有一段代码:

   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));
        }
    }

是否有更短的方式来链接对象动画?

1 个答案:

答案 0 :(得分:-1)

你应该在第一个动画回调中加入第二个动画。 以下是工作代码。

$(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>