Анимация увеличения через центр изображения в Android с помощью xml

Я пытаюсь сделать некоторое простое масштабирование изображения и панорамирование с помощью андроида, и у меня есть два простых вопроса. Во-первых, когда я вызываю анимацию с помощью шкалы, она масштабируется, используя верхний левый угол изображения в качестве источника, но я бы хотел, чтобы он увеличивал масштаб от центра изображения. Второй вопрос – когда анимация завершена, он сбрасывает изображение в исходное состояние, и я хотел бы, чтобы он оставался в конечном состоянии.

Вот xml, который у меня есть для шкалы:

<scale android:fromXScale="1.0" android:fromYScale="1.0" android:toXScale="2.0" android:toYScale="2.0" android:detachWallpaper="true" android:duration="3000"></scale> 

И в моем коде:

 a = AnimationUtils.loadAnimation(this, R.anim.set); a.reset(); ImageView iv = (ImageView) findViewById(R.id.imageView1); iv.clearAnimation(); iv.startAnimation(a); 

Любая помощь будет оценена! 🙂

Solutions Collecting From Web of "Анимация увеличения через центр изображения в Android с помощью xml"

Для масштабирования изображения из центра вы должны установить pivotX и pivotY

Попробуйте этот код для масштабирования из центра и сохранения состояния после масштабирования,

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

Благодаря…