Animation
объекты используются для анимации View
объектов. Если вы рисуете круг самостоятельно в view.onDraw()
, тогда вам действительно нужно просто масштабировать круг самостоятельно.
Обновление : объекты анимации используются для анимации Views
из основного потока вашего приложения. Основной поток не совпадает с потоком пользовательского интерфейса, а объекты Animation
предоставляют хороший способ сообщить потоку пользовательского интерфейса рисовать анимацию из основного потока. Однако onDraw
вызывается из потока пользовательского интерфейса, поэтому нет смысла использовать объект Animation
, поскольку исполняемый код уже находится в области действия потока пользовательского интерфейса.
Обновление 2: Вот пример правильного способа выполнения ScaleAnimation
float startScaleX = 1.0f;
float startScaleY = 1.0f;
float endScaleX = 2.0f;
float endScaleY = 2.0f;
Animation a = new ScaleAnimation(startScaleX, endScaleX, startScaleY, endScaleY);
a.setDuration(1000);
View view = findViewById(R.id.my_view);
view.startAnimation(a);
Обратите внимание, что после создания объекта animation
я вызываю view.startAnimation(a)
. Не имеет смысла запускать анимацию, не прикрепляя ее к представлению.