2011-11-12 163 views
0

我正在嘗試使用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); 
} 

回答

0

按鈕動畫的位置?我會肢體出去,猜測你不能。動畫很有趣。他們不是「真實的」。把它們想象成海市蜃樓。嘗試這個。非常緩慢地旋轉圖像。如果圖像是矩形,當圖像大約45度時,請單擊圖像以前的位置,但不會太長。您實際上會註冊點擊,因爲圖像不是,實際上正在以實際座標旋轉。

我會考慮實際上將按鈕設置爲像遊戲精靈一樣動畫,或者對動畫進行試驗和錯誤並手動設置值。如果你做第二個,確保你動態轉換爲DIP座標而不是原始數據。

+0

感謝您的回覆。不幸的是,我試圖手動設置它們,但無法精確到避免按鈕「跳躍」一個或兩個像素。非常令人沮喪! – italianmike