Resimli Liste Yapalım!

Yazar : zafer 26. Mayıs 2011 13:49

Merhaba, bir önceki yazımızda Android için şehir isimlerinden oluşan basit bir liste hazırlamıştık. Sonrasında ise listemize biraz daha aktivite katmak amacıyla "ItemClick" olayı tanımlayıp bu olay içinde seçilen öğenin (Item) ismini alarak ekranda göstermiştik. Bu örneğimizde ise yine bu listemizi kendi isteklerimiz doğrultusunda nasıl geliştirebileceğimizi göstermek amacıyla her bir öğeye bir resim ekleyerek bir resimli liste oluşturacağız.

Android ve şu sıralar yoğun bir şekilde ilgilendiğim WPF tabanlı uygulamalarda listbox, combobox gibi birleşenler artık eskisi gibi statik bir yapıdan ziyade sadece genel bir çerceveye, ana hatlara sahip birer birleşen halini aldılar. Yani hem Android arayüzünde olsun hemde WPF arayüz tasarımında olsun birleşenlerin içiçe kullanılması mantığı eskiden kullandığımız birleşenlerin çok daha esnek ve farklı formlarda tasarlanabilmelerine olanak sağladı. Bu söylediklerimi şimdi yapacağımız liste örneğinde çok daha iyi anlayacaksınız.

Ben bir önceki yazımda geliştirdiğim ListeTest projesi üzerinden devam ediyor olacağım, dolayısıyla önceki kodları görmek için bir önceki yazıyı okuyabilirsiniz. Bir önceki yazımıda liste hazırlamış ve ekranda göstermiştik. Bu kodlar şunlardı;

 

ArrayAdapter adaptor = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Sehirler);
this.setListAdapter(adaptor);

 

Bu listeyi oluştururken "android.R.layout.simple_list_item_1" isimli bir görünüm (layout) kullanmıştık. Bu görünüm (layout) bizim satırlarımız için hazır olarak bulunan öntanımlı bir görünümdür. Şimdi ise listemiz için satır görünümünü biz kendimiz oluşturacağız ve listemizi hazırlarken satırların bu görünümü kullanmasını sağlayacağız. Bu sayede aslında listemizin satırlarını nasıl istersek öyle dizayn edebileceğimiz görmüş olacağız. Şİmdi işe listemiz için satır görnümünü taımlayarak başlayalım. Bunun için projemizde bulunan "layout" klasörüne "satir.xml" isimli yeni bir Android XML dosyası (layout) ekliyoruz. Ardından liste satirimiz için istediğimiz dizaynı bu dosyada gerçekleştiriyoruz. Benim dosyamın kodları şu şekilde;

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ImageView
 android:id="@+id/imgResim"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src ="@drawable/resim"
 android:padding="5px"
 />    
<TextView 
 android:id="@+id/txtSatir"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="10px"
    android:textSize="22px"
    android:textStyle="bold"
    />
</LinearLayout>

 

Bu kodlardandan anlaşılacağı üzere LinearLayout tipindeki taşıyıcı üzerine bir ImageView ve birde TextView bileşenleri eklenmiştir. ImageView ve TextView birleşeninin gerekli özellikleri ayarlamıştır. ImageView kaynağı (src) olarak "@drawable/resim" öğesi gösterilmiştir. Sizdeki klasörlerde "drawable" isimli bir klasör yoksa bunu projenize ekleyebilirsiniz. Bunun dışında resim ve yazının yanyana olması için LinearLayout taşıyıcısının orientation özelliği "horizontal" olarak ayarlanmıştır. Tüm bu işlemlerden son listemizin satırı bitmiş ve kullanıma hazırdır.

Artık yapmamız gereken listemizi oluştururken Android tarafından ön tanımlı görünümü kullanmak yerine bizim oluşturduğumuz satır görünümünü kullanarak listeyi oluşturmaktır. Bunun için kodumuzu şu şekilde değiştirmemiz yeterli olacaktır.

 

ArrayAdapter<String> adaptor = new ArrayAdapter<String>(this, R.layout.satir, R.id.txtSatir, Sehirler);
this.setListAdapter(adaptor);

 

Bu şekilde listemizi oluştururken görmüş olduğunuz gibi kendi oluşturduğumuz satir isimli görünümü kullandık. Böylece Android listemizi oluştururken her satır için bizim hazırladığımız görünümü bir şablon gibi kullanarak her bir veri için listenin satırlarını oluşturacak, listemizin son hali ise şöyle görünecek;

Gördüğünüz gibi birleşenlerin içiçe kullanılabilmesi ilk bakışta basit gibi görünsede çok daha farklı ve güzel tasarımlar yapabilmemize olanak sağlıyor ve bunu yapmayı oldukça kolaylaştırıyor. Ayrıca yazımın başında da belirttiğim gibi daha önce kullanılan birleşenler artık sadece birer çerçeve görevi görüyor. Bu birleşenlerin içlerini tasarlamak ise tamamen sizin hayal gücünüze kalıyor. Bir başka yazıda görüşmek üzere sağlıklı ve başarıyı günler dilerim.

Tags:

Android

Yorum ekle




  Country flag
biuquote
  • Yorum
  • Canlı önizleme
Loading


Zafer Günlükleri © 2008 - 2012 Zafer'in kişisel paylaşım sitesi.
BlogEngine.NET 2.0.0.36 | Tema : Mads Kristensen | Düzenleyen : Zafer Çelenk
Oturum Aç | APML ile filtrele

Anket

D dilini duydunuz mu?




Sonuçlar

Projeler

Galeri

Takvim

<<  Mayıs 2012  >>
PaSaÇaPeCuCuPa
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

Yazıları takvimde göster

Satranç

I play chess at Chess.com!

Son Yorumlar

Comment RSS

Yasal Uyarı

Bu site görüşlerin paylaşıldığı kişisel bir blogdur. Site içeriğinden meydana gelebilecek sorunlardan site sahibi sorumlu değildir. Yorumlar site sahibi tarafından onaylandıktan sonra yayınlanacaktır.