Android TranslateAnimation - перемещение изображения с правой стороны экрана на экран - PullRequest
0 голосов
/ 27 ноября 2011

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

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

Кто-нибудь знает, как это можно сделать?Я прочитал в уроке (http://developerlife.com/tutorials/?p=343) онлайн, что если «эффекты анимации выходят за пределы области экрана, то они обрезаются за пределами этих границ».

Следовательно, согласно этому уроку это невозможноОднако помните экраны блокировки Android 2.2? Два изображения (для разблокировки и установки его в режим безмолвия) используются для перемещения с левой и правой стороны экрана соответственно.

Я могу сделать свое изображение скользящим сс левой стороны экрана, но не справа. Любые идеи о том, как я могу это сделать ???

Если вы хотите увидеть мой код, я могу его поставить.

Ответы [ 2 ]

3 голосов
/ 27 ноября 2011

Это на самом деле довольно просто. В вашем макете поместите ImageView туда, где вы хотите, в конце анимации и установите его видимость на INVISIBLE или GONE, в зависимости от потребностей вашего макета. Затем, когда происходит событие, запустите TranslateAnimation с начальными координатами, установленными с помощью RELATIVE_TO_PARENT с x 1,0 (полностью направо) и целевыми координатами x 0,0 с типом RELATIVE_TO_SELF, чтобы ваше изображение оказалось в положении, определяемом раскладка. Не забудьте также включить видимость при запуске анимации.

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

0 голосов
/ 20 октября 2016

Вы можете использовать следующий код: TranslateAnimation animation = новая TranslateAnimation (-970.0f, 2000.0f, 0.0f, 0.0f); ImageView.startAnimation (анимация);

Первые два параметра указывают, из какой позиции в какую позицию вы хотите, чтобы изображение двигалось по горизонтали. Я использую Nexus 9 Tab. Здесь изображение движется из-за пределов экрана и движется вправо.

...