У меня есть ImageView, и я делаю ему просто масштабную анимацию. Очень стандартный код.
My scale_up.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:fromXScale="1"
android:fromYScale="1"
android:toXScale="1.2"
android:toYScale="1.2"
android:duration="175"/>
</set>
Мой код анимации:
Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up);
((ImageView) findViewById(R.id.circle_image)).startAnimation(a);
Проблема:
Когда изображение масштабируется, оно не масштабируется от центра, а в верхнем левом углу. Другими словами, масштабированный вариант изображения не имеет той же точки, что и центр, но имеет ту же самую верхнюю левую точку. Здесь ссылка, которая объясняет, что я имею в виду. Первое изображение - это то, как анимация масштабируется, а второе изображение - как я хочу, чтобы он масштабировался. Он должен сохранять центральную точку одинаковой. Я попытался настроить гравитацию на изображении, на контейнере, выравнивая влево или вправо, он всегда масштабируется одинаково. Я использую RelativeLayout для главного экрана, и ImageView находится в другом RelativeLayout, но я пробовал другие макеты, без изменений.