Есть объект ImaveView со следующими параметрами:
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/ball"
android:layout_marginBottom="80dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:id="@+id/ball"
/>
При нажатии обьект движется вверх:
ball.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Toast.makeText(getApplicationContext(), "Ударил по мячу", Toast.LENGTH_SHORT).show();
ObjectAnimator animation = ObjectAnimator.ofFloat(v, "y", 20f);
animation.setDuration(500);
animation.start();
}
});
Как вернуть обьект в исходную позицию, после того как он достиг точки?
Что я нагуглил :)
Я после setContentView считываю параметры, потом задаю их:
final ConstraintLayout.MarginLayoutParams params = (ConstraintLayout.MarginLayoutParams) ball.getLayoutParams();
И далее с задержкой пытаюсь задать исходные параметры.
ball.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//Toast.makeText(getApplicationContext(), "Ударил по мячу", Toast.LENGTH_SHORT).show();
ObjectAnimator animation = ObjectAnimator.ofFloat(v, "y", 20f);
animation.setDuration(500);
animation.start();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
params.setMargins(0,0,50,80);
ball.setLayoutParams(params);
}
}, 3000);
}
});
Думаю, дело в layout_constraintBottom_toBottomOf, менял на id другого обьекта.
Подскажите, куда копать чтобы вернуть обьект на исходную позицию?
Спасибо.