Bu android makalemde android componenti olan GridView’den bahsetmeye çalışacağım.Projelerimizde bir resim galerisinin küçük fotolarını gösterirken veya bir tabloda istatiksel değerleri gösterirken bu araç faydalı olabilir.Bunlar tabikide benim düşüncem.Nerede kullanacağınız sizin hayal gücünüze kalmış. 😉 Ben örnek olarak küçük bi resim galerisi yapmaya çalışacağım.

Her resmin bir adı olsun.Bunun için her bir grid hücresinde bir ImageView birde TextView olması gerek.Öncelikle adaptörümüzü yazalım.

cell.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="150dp"
        android:layout_height="150dp" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:paddingBottom="5dip"
            android:paddingLeft="5dip"
            android:paddingRight="5dip"
            android:paddingTop="5dip" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </RelativeLayout>

</LinearLayout>

MyGridAdapter (inner class,nested type)

private class MyGridAdapter extends ArrayAdapter<MyGallery> {

		public MyGridAdapter(Context context, int textViewResourceId,
				List<MyGallery> objects) {
			super(context, textViewResourceId, objects);
			// TODO Auto-generated constructor stub
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			View myrow = null;
			MyGallery s = getItem(position);

			if (convertView == null) {
				LayoutInflater inflater = (LayoutInflater) getContext()
						.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
				myrow = inflater.inflate(R.layout.cell, null);
			} else {
				myrow = convertView;
			}

			TextView text = (TextView) myrow.findViewById(R.id.textView1);
			ImageView img = (ImageView) myrow.findViewById(R.id.imageView1);

			text.setText(s.getName());
			img.setBackgroundResource(s.getImgid());

			return myrow;
		}

	}

MyGallery

class MyGallery {

		public MyGallery(String _name, int _id) {
			// TODO Auto-generated constructor stub
			setImgid(_id);
			setName(_name);
		}

		private String name;

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public int getImgid() {
			return imgid;
		}

		public void setImgid(int imgid) {
			this.imgid = imgid;
		}

		private int imgid;
	}

Ekrabn görüntüsü aşağıdaki gibidir.

Başarılar.

Gridview Sample
Gridview Sample
gridSample.zip
2.8 MiB
179 Downloads
Ayrıntılar...