あなたが本当に何をしたいのか完全にはわかりませんが、「x」と「y」の両方を同時に「翻訳」したい場合は、単に既存のに追加android:fromYDelta="0%"
してください。android:toYDelta="+50%"
<translate>
X値の後にY値を「変換」する場合は、新しいXMLファイルが必要になります。このXMLファイルは、X値が終了したときに呼び出す必要があります。
簡単な、テストされていない例:
mAnimatedView = findViewById(R.id.viewToAnimate);
mAnimX = (TranslateAnimation) AnimationUtils.loadAnimation(mContext, R.anim.aX);
mAnimY = (TranslateAnimation) AnimationUtils.loadAnimation(mContext, R.anim.aY);
mAnimX.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
if (mAnimatedView) {
mAnimatedView.startAnimation(mAnimY);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
}
});
mAnimY.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
if (mAnimatedView) {
mAnimatedView.startAnimation(mAnimX);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
}
});
mAnimatedView.startAnimation(mAnimX);
それが助けになり、十分に明確であることを願っています。