Membuat Gallery Gambar dengan ImageView

Aplikasi sederhana ini digunakan untuk menampilkan beberapa gambar. Langsung saja kita buat aplikasinya.

1.  Buat project Android di Eclipse

2. Kita buat main.xml seperti di bawah ini


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Galeri Buah-buahan" />

<Gallery
android:id="@+id/gallery1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="320dp"
android:layout_height="250dp"
android:scaleType="fitXY"/>
</LinearLayout>

3. Copy-kan beberapa gambar di res–>drawable-mdpi seperti gambar di bawah ini

g2

4. Tambahkan file xml dengan nama attrs.xml di res –> values, ketikkan kodenya seperti di bawah ini:


<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="Gallery1">
<attr name="android:galleryItemBackground"></attr>
</declare-styleable>
</resources>

5. Ketikkan kode program di MainActivity.java seperti di bawah ini


package com.gallery;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

Integer[] imageIDS = {R.drawable.jeruk, R.drawable.kates, R.drawable.lemon,
R.drawable.manggis, R.drawable.pisang, R.drawable.strobery};
Gallery gallery;
ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gallery = (Gallery) findViewById(R.id.gallery1);
image = (ImageView) findViewById(R.id.imageView1);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
Toast.makeText(getBaseContext(), "pic" + (position + 1) + " selected",
Toast.LENGTH_SHORT).show();
image.setImageResource(imageIDS[position]);
}
});
}

public class ImageAdapter extends BaseAdapter{

Context context;
int itemBackground;
public ImageAdapter(Context c){
context = c;
TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
itemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}
@Override
public int getCount() {
return imageIDS.length;
}

@Override
public Object getItem(int position) {
return position;
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if(convertView == null){
imageView = new ImageView(context);
imageView.setImageResource(imageIDS[position]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
}else {
imageView = (ImageView) convertView;
}
imageView.setBackgroundResource(itemBackground);

return imageView;
}

}
}

6. Run dan lihat hasilnya

Screenshoot hasilnya seperti di bawah ini

gallery1

Selamat mencoba, semoga bermanfaat

Leave a comment