Android Transition B. Imageswitcher: 4. Buat Layout Di Main - XML
Android Transition B. Imageswitcher: 4. Buat Layout Di Main - XML
B. ImageSwitcher
<ImageSwitcher
android:id="@+id/imageSwitcher1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" >
</ImageSwitcher>
<Gallery
android:id="@+id/gallery1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="false"
android:gravity="center_vertical" />
</RelativeLayout>
5. Berikut kode bagian activity-nya
package com.img.switcher;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.Gallery.LayoutParams;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
is = (ImageSwitcher) findViewById(R.id.imageSwitcher1);
is.setFactory(this);
is.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
is.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
gall = (Gallery) findViewById(R.id.gallery1);
gall.setAdapter(new ImageAdapter(this));
gall.setOnItemClickListener(this);
}
public ImageAdapter(Context c) {
context = c;
TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
itemBg = a.getResourceId(
R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}
return imgView;
}
return iv;
}
Pembahasan Program
Pada latihan ini kita menggunakan 2 komponen, yaitu Gallery dan Image switcher. Gallery
digunakan untuk menampilkan thumbnail, sedangkan Imageswitcher dipakai untuk menampilkan
preview thumbnail yang diklik.
Thumbnail gallery terdiri dari sejumlah gambar yang berderet. Dalam pemrograman dituliskan
sebagai array bertipe integer seperti berikut ini
Array yang diberi nama idGambar mengambil semua gambar dari folder res/drawable
is = (ImageSwitcher) findViewById(R.id.imageSwitcher1);
is.setFactory(this);
is.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
is.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
Blok kode diatas adalah blok untuk mengeset widget ImageSwitcher seperti fade_in dan
fade_out. Jadi apabila thumbnail diklik, prewvie akan muncul dengan sedikit animasi fade_in
Kode diatas adalah bagian untuk mengeset gallery. Untuk memasukkan array idGambar tadi,
kita buat inner class bernama ImageAdapter. Kelas ImageAdapter terdapat pada kode
berikut ini
public ImageAdapter(Context c) {
context = c;
TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
itemBg = a.getResourceId(
R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}
return imgView;
}
}
Dimana Kelas ini akan meng-extends kelas BaseAdapter(), yang memiliki 4 buah method dan
sebuah Constructor Image Adapter seperti yang tertulis pada kode berikut ini
public ImageAdapter(Context c) {
context = c;
TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
itemBg = a.getResourceId(
R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}