Bunu yapmak için arası doldurulmuş animasyonlar kullanmanız gerekir. Esasen yapmanız gereken şey, mevcut resim için bir tane olmak üzere iki adet ImageView nesnesine ve yeni görüntü için bir tane olmalıdır. res/anim/fadeout.xml için iki doldurulan animasyonlar oluşturun:
<?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" />
ve 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" />
Sonra görünümleri arasında geçiş yapmak için bir ImageSwitcher widget'ı kullanmak
@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();
}
});
}
Doldurulmuş animasyonlar hakkında my blog ürününde bir dizi makale var.
Aradığım şey bu mu? Uygulama verileri indirilirken bir açılış ekranını canlandırmaya çalışıyorum, bu yüzden sadece statik bir resmim yok. Animasyon en az 4 görüntü içerecek ve animasyon kendi başına gerçekleşecek - kullanıcı etkileşimi yok – tomislav2012
Kodu basit tutmak için bir düğme kullandım. Görüntüyü periyodik olarak değiştirmek için bir ImageSwitcher'ı arka plan iş parçacığıyla kullanabilirsiniz. –