#5 – Android Layouts: Grid View


Merhaba, bu yazımda GridView layoutu anlatacağım. Yazıda anlatılan uygulama örneğine ait kodları aşağıdaki linkten indirebilirsiniz.

[wpdm_file id=11]

Grid View

GridView bir gösterim grubudur. Grid View elemanları iki boyutlu kaydırılabilir bir şablonda gösterir. İki boyuttan kastım şablonumuzda hem satır hem sütunlar olmasıdır. Elemanlar ListAdapter(Liste Adaptörü- ne olduğunu anlatacağım sabırlı olun :) ) kullanılarak GridView e  otomatik olarak eklenir.

gridview

ListAdapter ise bir liste objesi ile listedeki elemanlar arasındaki bağlantıyı kuran yapıdır. Örneğimizle daha iyi anlayacaksınız. Şimdi Grid View ve ListAdapter ı öğrendiğimize göre örneğimize geçelim.

Gerekli adımlar:

1. Yeni bir proje oluşturup adına Layouts veya istediğiniz herhangi birşey diyebilirsiniz. (Not isim büyük harf ile başlamalı, yoksa hata verir eclipse.)

2. res/layout altındaki xml dosyasına aşağıdaki kodu yazın.

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

3. src klasörü altındaki uygulama paketinizin altındaki .java dosyasına aşağıdaki kodları yazın.

package com.androidhocam.layouts;import android.app.Activity;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
import android.widget.AdapterView.OnItemClickListener;public class MainActivity extends Activity {GridView gridView;static final String[] numbers = new String[] {
"A", "B", "C", "D", "E",
"F", "G", "H", "I", "J",
"K", "L", "M", "N", "O",
"P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z"};@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gridView = (GridView) findViewById(R.id.gridview); 

ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, numbers);

gridView.setAdapter(adapter);

gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(getApplicationContext(),
((TextView) v).getText(), Toast.LENGTH_SHORT).show();
}
});

}

}

Adımlarımız bu kadar gözden geçirirsek; önce projemizi oluşturduk, sonra uygulamanın arayüzünü daha sonra da asıl işi yapacak olan java kodlarımızı ekledik. Şimdi projemize sağ tıklayıp Run as -> Android Application sekmelerini takip edip projemizi test etmek için çalıştırıyoruz.

GridView Emülatör Çıktısı:

gridview_emulator

Android Evreni’ nin bir yazısının daha sonuna geldik, bütün Android Evreni ziyaretçilerine yararlı olmasını umarım.

Kolay gelsin :)

Şunlar da ilginizi çekebilir

8 yorum

  • Recep GALİP
    3 Mart 2014 at 16:01

    Elinize Sağlık Çok Güze Bir Anlatım oldu.

  • Oguz
    21 Mayıs 2014 at 10:47

    mustafa bey, tel numaranı mail adresime atarmısın. Önemli…

  • SelTur
    21 Kasım 2014 at 10:33

    Merhaba,
    Hocam kusura bakmayın verdiğiniz örneklerde hep hataları arıyormuşum veya hataları düzeltiyormuşum gibi oluyor ama, ben verdiğiniz örnekleri bire bir yazarak veya kopyalayarak uygulamaya çalışıyorum. Bu sırada da haliyle çalışmayıp hatalar veriyor ve bunları gidermeye çalışıyorum.
    Bu örnekte de
    public void onItemClick(AdapterView<?> parent, View v, int position, long id)
    satırı ve altındaki grupta da birkaç hata aldım. Hatanın da AdapterView<?> yerine AdapterView yazarak düzeltilebileceğini ve bu şekilde çalışacağını belirtmek istiyorum.
    Yaptıklarınız için de müteşekkirim. Böylece beni de araştırmaya sevk etmiş oluyorsunuz.

    • MUSTAFA DEMİR
      14 Aralık 2014 at 09:10

      merhaba,

      yazdığım örnekler kesinlikle test edildikten sonra yayınlanıyor. Test etmeden yazdığım herhangi bir örneği herhangi bir yazımda kullanmamışımdır. :)

      İyi Çalışmalar.

  • SelTur
    21 Kasım 2014 at 10:35

    Bu anlattığınız örneği de her bir gridview de resim nasıl gösterebileceğim konusunda da yardım istiyorum sizden.

    • MUSTAFA DEMİR
      14 Aralık 2014 at 09:11

      merhaba,
      konu hakkında ders yayınlanacak. :)

      İyi Çalışmalar.

  • Ahmet
    26 Haziran 2015 at 12:15

    Merhaba;
    Gridview de butonlarin boyutları hep aynımı oluyor, mesela bir hesap makinesinde eşit butonunu yatay olarak daha uzun yapmak istiyorum boyle birşey mümkünmü?

Ahmet için bir cevap yazın Cevabı iptal et