动画视图以编程方式将一点指向另一点Android

时间:2016-07-11 16:49:13

标签: android android-layout android-studio animation android-animation

我试图从一个点(第一个按钮)动画两个按钮。单击第一个按钮时,该按钮设置为INVISIBLE / GONE,另外两个按钮显示。我试图传递View(第一个按钮)的X和Y值,如下所示:

button.getX();
button.getY();

但我没有得到确切的中心(第一个按钮)。

我试图将这些X和Y值发送到动画但是两个按钮(button2,button3)并排出现..我希望它们重叠,因为它们开始动画的点是相同的。我使用以下代码进行动画制作:

AnimatorSet animations = new AnimatorSet();

Animator xAnim = ObjectAnimator.ofFloat(button, "translationX", finalXValue);
xAnim.setDuration(3000);

Animator yAnim = ObjectAnimator.ofFloat(button, "translationY", finalYValue);
yAnim.setDuration(3000);

Animator alphaAnim = ObjectAnimator.ofFloat(button, "alpha", finalAlphaValue);
alphaAnim.setDuration(alphaDuration);

//Play all the animations together
animations.play(xAnim).with(yAnim).with(alphaAnim);

我希望动画像这样

enter image description here

1 个答案:

答案 0 :(得分:0)

@Deev感谢这真的有帮助,但我使用的代码没有开始位置

TranslateAnimation tanim_stay = new TranslateAnimation(
            TranslateAnimation.ABSOLUTE, getIntent().getFloatExtra("ButtonX", 0) - btn_armed_stay.getWidth(),
            TranslateAnimation.ABSOLUTE, btn_armed_stay.getX()+ (btn_armed_stay.getWidth()/2),
            TranslateAnimation.ABSOLUTE, -getIntent().getFloatExtra("ButtonY", 0),
            TranslateAnimation.ABSOLUTE, btn_armed_stay.getY()+ (btn_armed_stay.getHeight()/2));

我使用此代码作为动画的开始和结束位置但是如何将另一个动画添加到当前的Translate动画中..我想将Alpha动画添加到此Translate动画中..