2011-11-12 12 views
0

RotationAnimationを使用してImageButtonを移動しようとしています。アニメーションの終わりに画面がちらつくのを避けるためにImageButtonをonAnimationEndをオーバーライドするように拡張し、実際のボタンの位置を更新したいと考えています。アニメーションの終わりにボタンの正確な座標を特定するにはどうすればよいですか?添付されているコードの一部です。 助けてくれてありがとう!詳細が必要な場合はお知らせください。Android RotationAnimation Complete

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度のときは、画像のどこをクリックしたかをクリックしますが、長くはありません。 実際にはが実際の座標で回転していないため、クリックを実際に登録します。

実際にゲームスプライトのようにボタンをアニメーション化するか、アニメーションで試行錯誤して値を手動で設定することを検討します。 2つめの場合は、生のintではなくDIP座標に動的に変換してください。

+0

ありがとうございました。残念ながら、私はそれらを手動で設定しようとしましたが、ピクセルまたは2つのボタンを「ジャンプ」させないように正確にはなりません。非常にイライラする! – italianmike