OnClickListener问题TranslateAnimation后后的ImageButton移动问题、OnClickListener、ImageButton、TranslateAnimation

2023-09-14 00:05:47 作者:丶撒娇的小女人っ

怎么办的ImageButton的移动到一个新的订货量大,保持OnClick事件?

我对这个两个问题:

如果我用fillAfter(真),的onclick不会带到新的地方。​​ 如果使用setAnimationListener(onAnimationEnd)和呼叫布局()到的ImageButton移动到一个新的地方,ImageButton的将回到新的开始的地方,为什么?

codeS位置:

  TSLA =新TranslateAnimation(0.0,(浮动)(imgWidth * 0.45)-WH / 2,0.0f,(浮动)(imgHeight * 0.566666667)-WH / 2);
    tsla.setDuration(sleepX);

    tsla.setAnimationListener(新AnimationListener(){
        公共无效onAnimationStart(动画为arg0){
        }
        公共无效onAnimationEnd(动画为arg0){
             imgBtnChengdu.layout(
                (中间体)(imgWidth * 0.45),
                (INT)(imgHeight * 0.566666667)
                (INT)(imgWidth  -  WH  -  imgWidth * 0.45),
                (INT)(imgHeight  -  WH  -  imgHeight * 0.566666667)
                );
        }
        公共无效onAnimationRepeat(动画为arg0){
        }
    });

    imgBtnChengdu.setAnimation(TSLA);
 

解决方案

的问题是,Android将仅动画按钮的图像到新的地方。​​

这意味着onClick的区域停留在老地方。你还需要改变在动画结束按钮的位置,整个按钮移动到新的地方,不仅其观点。

Android种子总是提示setOnClickListener参数出问题,找了好多资料都无法解决哪位大神可以教教我啊

what should I do to move the imageButton to a new palce and keep the OnClick event?

I have two questions on this:

If I use fillAfter(true), the onclick will not taken to the new place. If use setAnimationListener(onAnimationEnd), and call layout() to move the ImageButton to a new place, the ImageButton will back to new beginning place, why?

codes here:

    tsla = new TranslateAnimation(0.0f,(float) (imgWidth * 0.45)-wh/2,0.0f,(float) (imgHeight * 0.566666667)-wh/2);
    tsla.setDuration(sleepX);

    tsla.setAnimationListener(new AnimationListener(){
        public void onAnimationStart(Animation arg0) {
        }
        public void onAnimationEnd(Animation arg0) {
             imgBtnChengdu.layout(
                (int) (imgWidth * 0.45),
                (int) (imgHeight * 0.566666667),
                (int) (imgWidth - wh - imgWidth * 0.45),
                (int) (imgHeight - wh - imgHeight * 0.566666667)
                );
        }
        public void onAnimationRepeat(Animation arg0) {
        }
    });

    imgBtnChengdu.setAnimation(tsla);      

解决方案

The problem is that that Android will only animate the Image of the Button to the new place.

This means the onClick Area stays at the old place. You also need to change the position of the button at the end of the Animation to move the whole button to the new place and not only its View.