Анимация масштабирования изображения Android относительно центральной точки

У меня есть ImageView, и я делаю простую анимацию масштабирования к нему. Очень стандартный код.

My scale_up.xml:


    

Код моей анимации:

Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up);
((ImageView) findViewById(R.id.circle_image)).startAnimation(a);

Проблема:

Когда изображение масштабируется, оно масштабируется не от центра, а от верхнего левого угла. Другими словами, масштабированная версия изображения не имеет той же точки, что и центр, но имеет ту же верхнюю левую точку. Вот ссылка, объясняющая, что я имею в виду. Первое изображение показывает, как масштабируется анимация, а второе изображение - как я хочу его масштабировать. Центральная точка должна оставаться неизменной. Я пробовал настроить гравитацию на изображении, на контейнере, выравнивая влево или вправо, оно всегда масштабируется одинаково. Я использую RelativeLayout для главного экрана, а ImageView находится в другом RelativeLayout, но я пробовал другие макеты, без изменений.

80
задан Onik 8 July 2017 в 00:21
поделиться