2015-01-30 2 views
0

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

Есть ли механик для реализации бесконечных анимаций, и могу ли я разместить ImageView за пределами экрана?

ответ

0

Извлечь изображение из окна слева или справа от соответствующего макета как ширины изображения. так что это будет вне экрана

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="20dp" 
    android:layout_height="20dp" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginRight="-20dp" 
    android:src="@drawable/test" /> 

Тогда вы можете сделать анимацию используя. Рез/ANIM/rotatemove.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:repeatCount="infinite" 
    android:repeatMode="restart" > 

    <rotate 
     android:duration="600" 
     android:fromDegrees="0" 
     android:interpolator="@android:anim/cycle_interpolator" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:repeatCount="infinite" 
     android:repeatMode="restart" 
     android:toDegrees="360" /> 

    <translate 
     android:duration="800" 
     android:fromYDelta="0%p" 
     android:toYDelta="100%p" 
     android:repeatCount="infinite" 
     android:repeatMode="restart" /> 

</set> 

теперь в вашем использовании деятельности

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotatemove); 
     ImageView iv = (ImageView) findViewById(R.id.test); 
     iv.startAnimation(anim); 

    } 
Смежные вопросы