android - 动画 View 的 OnclickListener

标签 android android-animation

在同一问题上发现了很多问题。

How to set OnClickListener on the ImageView after rotation animation

How to write the onclick listener for a view after animation?

我也有同样的问题,有什么建议吗?

最佳答案

你应该针对你的具体问题写一个新鲜、简洁的问题,而不是仅仅指向其他问题。与之相关的两个问题并不完全清楚。

我假设您的问题是在将动画(例如 TranslateAnimation)应用到 View 之后,View 没有不再响应新位置的触摸事件。这是因为 View 尚未根据布局参数移动到新位置,而是应用了转换。

解决方案非常简单:在动画完成后立即将 View 移动到新位置。您可以设置 myAnimation.setFillAfter() = false,并设置一个监听器以在动画结束时将 View 物理移动到目标位置:

myAmazingAnimation.setFillAfter() = false;
myAmazingAnimation.setAnimationListener(new Animation.AnimationListener(){

                @Override
                public void onAnimationEnd(Animation animation) {
                          // Now actually move the View using LayoutParams
                }

                @Override
                public void onAnimationRepeat(Animation animation) {                    
                }

                @Override
                public void onAnimationStart(Animation animation) {
                }

            });

另一种变体是在应用动画之前在开始时物理移动 View,然后然后应用使 View 开始的动画它曾经在 0,0 处结束。

关于android - 动画 View 的 OnclickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283226/

相关文章:

android - 将按钮添加到 LinearLayout

android - 如何在不点击的情况下实现按钮上的波纹动画

java - 共享元素转换未正确退出

android - 使 Activity 从上到下动画

java - Android Activity 之间的缓慢切换。尝试使用进度对话框来显示其加载

android - 设置应用程序以在单个 channel 上输出所有音频

java - TextView 中的文本在滚动时淡出

android - 带有动画的 RecyclerView scrollToPositionWithOffset

android - 圆形进度条(用于倒数计时器)

android - 解析和 Twilio