GridView [63]

GridView ialah sebuah ViewGroup yang menampilkan sebuah baris data 2 dimensi. Baris disini berupa baris yang acak dikanan kiri bawah atas namun rapi. Grid item dapat digunakan otomatis pada layout menggunakan ListAdapter.
Buatlah project baru kemudian siapkan foto terserah minimal 10. Lalu masukkan syntax xml dibawah ini kedalam activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
   
android:id="@+id/gridview"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
android:columnWidth="90dp"
   
android:numColumns="auto_fit"
   
android:verticalSpacing="10dp"
   
android:horizontalSpacing="10dp"
   
android:stretchMode="columnWidth"
   
android:gravity="center"
   
/>

Dalam syntax diatas GridView akan mengisi seluruh tampilan dilayar. Kemudian masukan syntax berikut kedalam MainActivity.java :


package com.example.android.hellogridview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(R.layout.
activity_main);

        GridView gridview = (GridView) findViewById(R.id.
gridview);
        gridview.setAdapter(
new ImageAdapter(this));

        gridview.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
           
public void onItemClick(AdapterView<?> parent, View v,
                                   
int position, long id) {
                Toast.makeText(MainActivity.
this, "" + position,
                        Toast.
LENGTH_SHORT).show();
            }
        });
    }
}

Setelah layout utama telah disetting kemudian GridView pada layout disambungkan menggunakan findViewById(int). Kemudian method setAdapter() mengatur ImageAdapter menjadi sumber dari seluruh data yang akan ditampilkan dalam grid. 
Untuk membuat grid melakukan sesuatu saat di klik maka ditambahkan setOnItemClickListener() method. Method ini kemudian melewati AdapterView.OnItemClickListener. Kemudian onItemClick() method memanggil ulang method untuk menampilkan sebuah toast.
             Nah setelah itu kita buat file java class bernama ImageAdapter yang tersambung (extends) dengan BaseAdapter berikut syntax nya :

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

   
public ImageAdapter(Context c) {
        mContext
= c;
   
}

   
public int getCount() {
       
return mThumbIds.length;
   
}

   
public Object getItem(int position) {
       
return null;
   
}

   
public long getItemId(int position) {
       
return 0;
   
}

   
// create a new ImageView for each item referenced by the Adapter
   
public View getView(int position, View convertView, ViewGroup parent) {
       
ImageView imageView;
       
if (convertView == null) {
           
// if it's not recycled, initialize some attributes
            imageView
= new ImageView(mContext);
            imageView
.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView
.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView
.setPadding(8, 8, 8, 8);
       
} else {
            imageView
= (ImageView) convertView;
       
}

        imageView
.setImageResource(mThumbIds[position]);
       
return imageView;
   
}

   
// references to our images
   
private Integer[] mThumbIds = {
            R
.drawable.sample_2, R.drawable.sample_3,
            R
.drawable.sample_4, R.drawable.sample_5,
            R
.drawable.sample_6, R.drawable.sample_7,
            R
.drawable.sample_0, R.drawable.sample_1,
            R
.drawable.sample_2, R.drawable.sample_3,
            R
.drawable.sample_4, R.drawable.sample_5,
            R
.drawable.sample_6, R.drawable.sample_7,
            R
.drawable.sample_0, R.drawable.sample_1,
            R
.drawable.sample_2, R.drawable.sample_3,
            R
.drawable.sample_4, R.drawable.sample_5,
            R
.drawable.sample_6, R.drawable.sample_7
   
};
}

Maka apabila syntax tidak ada yang error maka akan akan tampil tampilan seperti gambar dibawah ini :




Previous
Next Post »
Thanks for your comment