Android旋转动画完成
问题描述:
我正在尝试使用RotationAnimation移动ImageButton。我已经扩展ImageButton来覆盖onAnimationEnd以避免动画结束时的屏幕闪烁,并且想更新实际按钮的位置[因为动画只是一个表面的动作]。我如何确定动画结尾的按钮的确切坐标?附上一些我的代码.. 感谢您的帮助!如果您需要更多详细信息,请告诉我。Android旋转动画完成
public class HomeNavigationButton extends ImageButton {
public HomeNavigationButton(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public HomeNavigationButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public HomeNavigationButton(Context context) {
super(context);
}
@Override
protected void onAnimationEnd() {
super.onAnimationEnd();
int l = ?
int t = ?
int r = ?
int b = ?
this.layout(l,t,r,b);
}
答
按钮动画的位置?我会肢体出去,猜测你不能。动画很有趣。他们不是“真实的”。把它们想象成海市蜃楼。尝试这个。非常缓慢地旋转图像。如果图像是矩形,当图像大约45度时,请单击图像以前的位置,但不会太长。您实际上会注册点击,因为图像不是,实际上正在以实际坐标旋转。
我会考虑实际上将按钮设置为像游戏精灵一样动画,或者对动画进行试验和错误并手动设置值。如果你做第二个,确保你动态转换为DIP坐标而不是原始数据。
感谢您的回复。不幸的是,我试图手动设置它们,但无法精确到避免按钮“跳跃”一个或两个像素。非常令人沮丧! – italianmike