我的布局中有一个按钮。我正在使用带有TranslationX动画的ObjectAnimator动画该按钮的位置。
ObjectAnimator btnAnimator = ObjectAnimator.ofFloat(myBtn, "translationX",
ViewHelper.getTranslationX(myBtn), 0);
btnAnimator.addListener(new AnimatorListener() {
@Override
public void onAnimationCancel(Animator arg0) {}
@Override
public void onAnimationEnd(Animator arg0) {
Log.i("TAG","Animation Finished");
}
@Override
public void onAnimationRepeat(Animator arg0) {}
@Override
public void onAnimationStart(Animator arg0) {}
});
btnAnimator.setDuration(animationSpeed).start();
现在,我希望有一个该按钮的TranslationX的侦听器,以在该按钮的TranslationX位置更改时通知。
两种可能的方法:
1)覆盖视图中的onLayout()以手动比较和检测位置变化。
2)在视图上使用onLayoutChangeListener:
button.addOnLayoutChangeListener(new OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft,
int oldTop, int oldRight, int oldBottom) {
// Check your new position vs the old one
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句