Это мое решение
анит/pulse.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="300"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:toXScale="0.75"
android:toYScale="0.75"
android:interpolator="@android:interpolator/bounce" />
<scale
android:duration="100"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:toXScale="1.25"
android:toYScale="1.25"
android:interpolator="@android:interpolator/bounce" />
</set>
то в activity.java:
ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.startAnimation(AnimationUtils.loadAnimation(this, R.anim.pulse));
Я не удовлетворен, потому что у настоящего бьющего сердца более элегантные сокращения. Как это можно улучшить?
EDIT: Я думаю, что прекрасный эффект был бы чем-то, что подражало бы биению сердца. Быстрое сокращение сопровождалось другим. Может быть, последнее может быть быстрым в первом тайме, а затем медленно вернуться во вторую половину. Есть ли способ заставить все эти эффекты запускать друг друга?