Do tego celu należy użyć animacji animowanych. Zasadniczo musisz mieć dwa obiekty ImageView, jeden dla bieżącego obrazu i jeden dla nowego obrazu. Utwórz dwa klatkami pośrednimi animacje dla RES/anim/fadeout.xml:
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="500"
android:duration="500" />
i RES/anim/fadein.xml:
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:startOffset="500"
android:duration="500" />
następnie użyć widget ImageSwitcher aby przełączać się między widokami:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
setContentView(ll);
final ImageSwitcher is = new ImageSwitcher(this);
is.setOutAnimation(this, R.anim.fadeout);
is.setInAnimation(this, R.anim.fadein);
ImageView iv1 = new ImageView(this);
iv1.setImageResource(R.drawable.icon);
is.addView(iv1);
is.showNext();
ll.addView(is);
Button b = new Button(this);
ll.addView(b);
b.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
ImageView iv2 = new ImageView(MainActivity.this);
iv2.setImageResource(R.drawable.icon2);
is.addView(iv2);
is.showNext();
}
});
}
Istnieje szereg artykułów na temat my blog o animacjach z klatkami pośrednimi.
Nie jestem pewien, czy tego właśnie szukam. Próbuję animować ekran powitalny, gdy aplikacja pobiera dane, więc nie mam po prostu statycznego obrazu. Animacja zawiera co najmniej 4 obrazy, a animacja powinna się zdarzyć samodzielnie - bez interakcji użytkownika – tomislav2012
Użyłem przycisku, aby zachować prosty kod. Możesz użyć ImageSwitchera z gwintem tła, aby okresowo zmieniać obraz. –