Android 转换视图后,按下以触发按钮按下的区域不会';别动。如何随视图移动此区域?

Android 转换视图后,按下以触发按钮按下的区域不会';别动。如何随视图移动此区域?,android,android-animation,Android,Android Animation,我创建了一个按钮,希望在触发某个事件后将其移动到屏幕底部。所以我做了一个TranslateImation对象 private TranslateAnimation setupAnimation(float yOffset) { TranslateAnimation animation = new TranslateAnimation(0, 0, 0, yOffset); animation.setDuration(1000); animation.setFillA

我创建了一个按钮,希望在触发某个事件后将其移动到屏幕底部。所以我做了一个TranslateImation对象

    private TranslateAnimation setupAnimation(float yOffset) {
    TranslateAnimation animation = new TranslateAnimation(0, 0, 0, yOffset);
    animation.setDuration(1000);
    animation.setFillAfter(true);
    animation.setInterpolator(new AccelerateDecelerateInterpolator());
    return animation;
}
然后,我将TranslateAnimation对象传递到要移动的视图的startAnimation()方法中

这对于我想要在视觉上完成的工作是有效的,但是我注意到我不能点击它的可见位置,但是我可以按下按钮的原来位置,onClick回调将被执行


翻译后,我需要做什么才能让用户在新位置按下按钮?

翻译动画只会移动屏幕上的像素,它不会改变按钮的实际位置,只是看起来它在移动,所以你的OnClick/ontouch监听器不会随之动动

使用ObjectAnimator或ViewPropertyAnimator可以真正更改按钮的属性

下面是一个用于启动的示例:

yourButton.animate()
    .translationY(yOffset)
    .setInterpolator(new AccelerateDecelerateInterpolator())
    .setDuration(1000);
检查是否有其他可用方法。

可能重复的