2015-01-30 3 views
1

Я хочу создать простую анимацию для своего приложения для Android. У меня очень большое изображение внутри ImageView (1900 x 1200). Это изображение имеет небольшие полосы, которые прозрачны, чтобы фон Вид был видимым внутри прозрачных полос.Лучший способ создания анимации?

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

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

ObjectAnimator repeatAnimation = ObjectAnimator.ofFloat(this.imageViewLightFloatLeft, "y", -Helper.getDisplayHeight(this.getActivity()), Helper.getDisplayHeight(this.getActivity())); 
    repeatAnimation.setDuration(2000); 
    repeatAnimation.setRepeatCount(ObjectAnimator.INFINITE); 
    repeatAnimation.setRepeatMode(ObjectAnimator.RESTART); 
    repeatAnimation.start(); 

К сожалению, это не является хорошим решением, потому что это отставание очень трудно. Как я уже упоминал, у меня есть ImageView с большим изображением (1900 x 1200) спереди и он быстро замедляет анимацию.

Так что мне нужно другое решение для того, что я хочу сделать. Как я могу реализовать свою анимацию?

ответ

0

Использование градиента в качестве фона окна просмотра и анимации, что градиент делает трюк:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <gradient 
     android:centerX="0.5" 
     android:centerY="0.5" 
     android:endColor="#000000" 
     android:gradientRadius="1000" 
     android:startColor="#85E9FF" 
     android:type="radial" /> 

</shape> 
Смежные вопросы