Menü

Android Fotoğraflarla Basit Animasyon Yapımı

24 Ocak 2015 - Android & IOS

android1

Merhaba arkadaşlar, android’de gif oynatmayı denediniz mi bilmiyorum. Uygulamamda hareketli bir resime yer vermem gerekiyordu. İlk aklıma gelen resim formatı gif oldu. ancak gif’i imageview içerisine yerleştirdiğimde oynamadığını gördüm. Araştırmaya başladım android’de gif oynatmak baya zahmetli bir işmiş. Bende başka bir yol bulmaya çalıştım. Buldum da. Gif resminin belli aralıklarla ekran görüntüsünü alıp kırptım daha sonra da bunları androidde arka arkaya gösterdim. Gif oynatma sorununun altından bu şekilde kalktım. İşlemleri nasıl yaptığımdan bahsediyim;

xml’de imageview tanımlayın.

<ImageView
android:id=”@+id/imageView1″
android:layout_width=”200dp”
android:layout_height=”500dp” />

drawable-hdpi klasörü içerisine spin_animation.xml dosyasını oluşturun ve içerisine aşağıdaki kodları yerleştirin.

<?xml version=”1.0″ encoding=”utf-8″?>
<animation-list xmlns:android=”http://schemas.android.com/apk/res/android&#8221; >
<item android:drawable=”@drawable/deneme0″ android:duration=”150″ />
<item android:drawable=”@drawable/deneme1″ android:duration=”150″ />
<item android:drawable=”@drawable/deneme2″ android:duration=”150″ />
<item android:drawable=”@drawable/deneme3″ android:duration=”100″ />
<item android:drawable=”@drawable/deneme5″ android:duration=”100″ />
<item android:drawable=”@drawable/deneme4″ android:duration=”100″ />

</animation-list>

Yukarıda item kısmına resimlerin hangi sırayla görüntüleneceğini belirleyip aynı sırayla yazınız. Duration alanından o resmin ne kadar milisaniye görüneceğini belirleyin.

java dosyasına gelip class altında

AnimationDrawable frameAnimation;
ImageView img;

tanımlamalarını yapalım.

img=(ImageView)findViewById(R.id.imageView1);
img.setBackgroundResource(R.drawable.spin_animation);
frameAnimation = (AnimationDrawable) img.getBackground();
frameAnimation.start();

Yukarıda imageview tanımlamasını yaptık ve frameanimation tanımladık. Tanımladığımız frameanimation’a oluşturmuş olduğumuz xml’i kaynak olarak verdik. frameAnimation.start(); animasyonu başlattık. frameAnimation.stop(); diyerek de durdurabilirsiniz. Bunu bir timer içerisinde kullanarak da belli bir süre animasyonun hareket etmesini sağlayabilirsiniz.

Uygulamada kullandığım resimler:

deneme0deneme1deneme2deneme3deneme4deneme5

 

Bir Cevap Yazın