Android ScaleAnimation - PullRequest
       15

Android ScaleAnimation

9 голосов
/ 26 октября 2009

Я бы хотел увеличить вид при каждом нажатии, используя ScaleAnimation. Мне удалось сохранить эффекты анимации после ее завершения с помощью fillAfter, но проблема в том, что анимация всегда начинается с состояния 0 (как представление определено в XML) - при щелчке представление сбрасывается и анимируется обратно. до состояния это было сразу после первой анимации.

Анимация определена в XML:

<scale 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
  android:fromXScale="1" 
  android:toXScale="1.5" 
  android:fromYScale="1" 
  android:toYScale="1.5" 
  android:pivotX="50%" 
  android:pivotY="50%" 
  android:duration="1000" 
  android:fillAfter="true" 
/>

Ответы [ 2 ]

26 голосов
/ 26 октября 2009

Я решил проблему, не прибегая к анимации, определенной в XML, а скорее

anim = new ScaleAnimation(from, to, from, to, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

и настройку от / к каждый раз, когда мне нужно было его расширить. Я не уверен, что это хорошо с точки зрения производительности, но она прекрасно работает.

1 голос
/ 26 октября 2009

Как точно определяется анимация?

Определяя ScaleAnimation с помощью кода Java, вы можете установить fromX / fromY (смотрите здесь ), начиная коэффициенты масштабирования, поэтому я предполагаю, что вы можете сделать то же самое с атрибутами XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...