1
我创建了一个名为WheelLayout的自定义RelativeLayout,它包含两个ImageView。第一个View,WheelView是一个自定义View,它可以调用RotateAnimation几次。如何根据自定义布局中的另一个视图的动画更改视图的可见性?
WheelView有一个名为WheelListener的自定义界面。
public interface WheelListener {
public void wheelStarted();
public void wheelStoppedOnSlice(int sliceNum);
}
在WheelView,我实现Animation.AnimationListener如下:
@Override
public void onAnimationStart(Animation animation) {
mListener.wheelStarted();
}
@Override
public void onAnimationEnd(Animation animation) {
mListener.wheelStoppedOnSlice(mCurrentSlice);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
凡mListener是WheelListener。
WheelLayout实现WheelListener像这样:
@Override
public void wheelStarted() {
mSliceImage.setVisibility(View.GONE);
}
@Override
public void wheelStoppedOnSlice(int sliceNum) {
mSliceImage.setBackgroundResource(mSlices[sliceNum]);
mSliceImage.setVisibility(View.VISIBLE);
}
当WheelView动画,我希望看到mSliceImage消失,WheelView继续动画完成。相反,都不会发生。我的WheelView不动画,mSliceImage不会消失。
但是,动画完成后,我做看mSliceImage改变它的背景资源。
我也试过同样的东西,其中mSliceImage是不是自定义布局的孩子,它的工作完美。
有没有人有任何想法?
View.INVISIBLE不会使我的mSliceImage消失,但允许我WheelView动画。我已经在那里放了一个Log调用,所以我知道这个函数被打了,但没有骰子。 –