我有一个带翻转动画的自定义ViewSwitcher。问题是当前未显示的视图(包含子按钮)正在拦截活动视图中的点击。我试图将可见性设置为不可见或消失(不起作用),我尝试遍历所有子视图并设置setClickable(false),但这不起作用。
也许我在错误的地方应用我的更改?以下是我的代码的相关部分。
public class ViewFlip3D extends ViewSwitcher {
// switches views
public void flip() {
float centerX = getWidth() / 2.0f;
float centerY = getHeight() / 2.0f;
Flip3D animOut = new Flip3D(-90, 0, centerX, centerY);
animOut.setDuration(500);
animOut.setInterpolator(new AccelerateInterpolator());
animOut.setFillAfter(true);
Flip3D animIn = new Flip3D(0, 90, centerX, centerY);
animIn.setDuration(500);
animIn.setInterpolator(new DecelerateInterpolator());
animIn.setFillAfter(true);
animIn.setAnimationListener(new ShowNextView(this, animOut));
ViewGroup view = (ViewGroup) getCurrentView();
// Disable clicks here!
// like: view.DisableClicksFromAllChildViews();
view.startAnimation(animIn);
}
private final class ShowNextView implements Animation.AnimationListener {
public void onAnimationEnd(Animation animation) {
container.showNext();
ViewGroup view = (ViewGroup) container.getCurrentView();
view.startAnimation(flipin);
// Enable clicks here!
// like: view.EnableClicksFromAllChildViews();
}
}
}
答案 0 :(得分:0)
删除后面的填充或在想要查看时调用clearAnimation。
如果这些都不符合您的需求,您可以递归循环子项并将clickable设置为false。