Я пытаюсь повернуть изображение на 90 градусов, но каждый раз, когда этот метод называется представлением, он перескакивает вперед на 90 градусов, а затем поворачивает дополнительные 90 градусов.Android View Rotation Animation и Set Rotation не работают по назначению
Я пробовал играть с цифрами без успеха. Кажется, что-то о том, как работает этот код, который я не понимаю.
Может кто-нибудь объяснить, что происходит в данный момент, и что нужно изменить, чтобы получить ожидаемый результат?
public void RotatePoint(float toDegrees) {
final RotateAnimation rotate =
new RotateAnimation(pt.getRotation(), pt.getRotation() + toDegrees,
RotateAnimation.RELATIVE_TO_SELF, 0.5f,
RotateAnimation.RELATIVE_TO_SELF, 0.5f);
rotate.setDuration(1000);
rotate.setFillEnabled(true);
rotate.setFillAfter(true);
pt.startAnimation(rotate);
pt.setRotation(pt.getRotation()+toDegrees);
if (pt.getRotation() == 360) {
pt.setRotation(0);
}
}
Corrected следующую строку pt.setRotation (pt.getRotation (+) toDegrees); Используется для чтения +90 вместо + toDegrees, В этом случае может быть важно, чтобы toDegrees всегда было равно 90. –