我有一个带有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));
}
}
是否有更短的方式来链接对象动画?
答案 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>