需求:例如一个数字翻转动画,需要在动画执行完后获取真实的返回值,然后再执行随后的程序。
动画播放完后执行回调:
1.首先新增回调接口
public interface Callback {
void perform(int lastValue);
}
2.应用回调接口
public void increase(Callback c) {
int curVal = Integer.parseInt((String) Anim3DTextView.this.getText());
applyRotation(curVal+1, 0, 0, 180, c);
}
public void decrease(Callback c) {
int numb = Integer.parseInt((String) Anim3DTextView.this.getText());
if (!negative && numb>0) {
applyRotation(numb-1, 0, 0, 180, c);
}
}
3.在实际应用中添加实现
increase3.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
v_count3.increase(new Callback() {
public void perform(int lastValue) {
ShoppingCart.instance().increase(f3);
}
});
}
});
本文介绍了一个数字翻转动画结束后通过回调传递最终值的方法。通过定义回调接口并实现在动画完成后的回调函数,确保了动画结束时能准确获取到翻转后的数值,并进一步更新购物车实例。
838

被折叠的 条评论
为什么被折叠?



