Мащаб на ImageView + анимация за превод

Опитвам се да постигна доста сложна анимация: имам свито изображение вътре в ScrollView и когато щракна върху него, бих искал то да се мащабира до реалния си X и Y +, за да се окаже най-отгоре ScolView и центриран в екрана.

И така, първият въпрос: има ли начин да зададете мащабна анимация с начало и край с и височина в dp?

И втори въпрос: има ли начин да зададете анимация за превод с изглед на начален и краен контейнер?


person thomaus    schedule 09.07.2012    source източник


Отговори (1)


Анимациите обикновено използват параметри за размер на пиксела, но можете лесно да конвертирате dp в пиксел със статичен метод:

public static int dpToPixels(Context context, float dp) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (dp * scale + 0.5f);
}

Относно втория ви въпрос, не мисля, че анимацията може да премине през първоначалния си изглед.

person smora    schedule 09.07.2012
comment
Наистина няма да стане. Ако вашият ImageView е подизглед на ScrollView, анимирането му до начална точка от (0,0) ще го постави в горния ляв ъгъл на ScrollView, а не на целия екран. Но той каза, че иска да го анимира в горната част на ScrollView, така че не би трябвало да е проблем. - person Norbert Bicsi; 09.07.2012
comment
На мащабна анимация как можете да зададете начална и крайна ширина и височина. Не го намерих в документацията. - person thomaus; 09.07.2012
comment
Можете да използвате конструктор и центрови стойности: публична ScaleAnimation (float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) - person smora; 09.07.2012
comment
Знам, но можете ли да използвате ширина и височина? Трябва да мащабирам изображение от свито първоначално състояние до оригиналната му ширина и височина. - person thomaus; 10.07.2012
comment
fromX и toX параметрите са стойност на мащаба. Така че трябва да зададете 0.0f за fromX и fromY и 1.0f за toX и toY и вашият анимационен мащаб ще завърши на оригиналната ширина и височина - person smora; 10.07.2012