动画后,TranslateAnimated ImageView无法点击[Android]

Sep*_*phy 8 animation android clickable

我有2 ImageView秒,我从屏幕的顶部翻译到底部.这些视图是从xml中隐藏的,并且动画是从java代码添加的.动画效果很好,但onClickListener我在java代码中添加的内容似乎不起作用.我使用fillAfter动画的属性使翻译后的iamges保持在他们的到来,但这些图像不再可点击了......但是,他们在翻译前的位置仍然可以点击...我看不出这个的逻辑.有人可以给我一些建议吗?

小智 14

这是因为动画仅影响窗口小部件的绘制.但是,真正的位置不受影响 - 它仍然在前一个 - .

要解决此问题,您需要通过安装动画侦听器手动更新ImageView的布局参数,如下所示:

Animation.setAnimationListener(new AnimationListener() {
        public void onAnimationStart(Animation arg0) {

        }

        public void onAnimationRepeat(Animation arg0) {
            //TODO Auto-generated method stub
        }

        public void onAnimationEnd(Animation arg0) {
            android.widget.LinearLayout.LayoutParams params = new LayoutParams(
            android.widget.LinearLayout.LayoutParams.FILL_PARENT,
            android.widget.LinearLayout.LayoutParams.WRAP_CONTENT);
            params.topMargin = addLocationButton.getTop()-100;

            ImageView.setLayoutParams(params);
        }
        });
Run Code Online (Sandbox Code Playgroud)

  • 要删除闪烁,可以使用animation.reset(); <我的观点> .clearAnimation(); (4认同)