2012-03-19 1 views
0

У меня есть изображение в Center_Horizontal и Center_Vertical моего экрана. Я хотел бы увеличить изображение и увеличить увеличенное изображение в середине экрана.Увеличьте изображение с помощью ScaleAnimation в середине экрана

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

Я прочитал что-то небрежное в XPivot и yPivot в ScaleAnimation, но я не понимаю их использования.

Моя цель - увеличить изображение от середины изображения, а не от левого угла.

Надеюсь, мой вопрос понятен.

Благодарим за помощь.

ответ

2

Сводные значения устанавливают центральную точку, в которой будет выполняться ScaleAnimation. Если предположить, что изображение находится в центре вашей точки зрения, вы можете использовать следующее:

ScaleAnimation sa = new ScaleAnimation(1, 2, 1, 2 
             , Animation.ABSOLUTE 
             , getWidth()/2 
             , Animation.ABSOLUTE 
             , getHeight()/2 
             ); 

значения поворота будет установлен в центре вашего физического дисплея. Вы можете использовать различные значения типа поворота, такие как RELATIVE_TO_PARENT, если это подходит вашему приложению.

+0

Спасибо @etcetera. –