Bu Kategoriye İçerik Girin veya Soru Sorun

Kategori İçi Sözlük

Bu Sayfayı Paylaş:

Adapter Android Arayüzünde Kullanılan Ölçü Birimleri BaseAdapter Basit Bir BaseAdapter Örneği Bir Liste Maddesinin Tıklanmasını Dinlemek ListAdapter ListView ListView Maddelerinin Köşeleri Yuvarlatılmış .. onItemClick OnItemClickListener px Yerine dp Kullanın

Adapter

Tanım: AdapterView bileşenleri ile veri köprüsü görevi gören ve verilere erişim sağlayan bir Adapter yaratmak için kullanılan interface (arayüz). Diğer Adapter sınıfları bu interface'i implement ederler

BaseAdapter

Tanım: ListView ve Spinner bileşenlerinde kullanmak üzere Adapter yaratılması için kullanılan abstract sınıf. getCount, getItem, getItemId ve getView method'larının yazılması gerekmektedir

ListView

Tanım: Android'de bir ListAdapter sınıfı kullanılarak bir liste göstermek için kullanılan arayüz bileşeni

ListAdapter

Tanım: Android'de ViewList ile listelenecek veri arasında köprü görevi gören bir Adapter sınıfı

OnItemClickListener

Tanım: List bileşenlerinde bir liste maddesine tıklandığında oluşan olayı dinlemek için kullanılan interface (arayüz)

onItemClick

Tanım: List bileşenlerinde bir liste maddesine tıklandığında oluşan olayı dinlemek için kullanılan OnItemClickListener arayüzünün (interface) tıklama anında çağrılan method. Method parametre olarak olayın olduğu AdapterView nesnesini, AdapterView içindeki view nesnesini, maddenin pozisyonunu ve id'si almaktadır

Android Arayüzünde Kullanılan Ölçü Birimleri

Android'de boyut, ölçü belirtmek için aşağıdaki tipler kullanılmaktadır:
  • px (pixel) : Ekranın gerçek piksel değeri
  • in (inç) : Ekranın fiziksel inç değeri
  • pt (point) : inç'in 72'de 1'idir
  • dp (density-independent pixels - yoğunluktan bağımsız pixel) : 160 dpi yoğunluğuna sahip bir ekranda bir pixel'e karşılık gelir
  • sp (scale-independent pixels) : 160 dpi yoğunluğuna sahip bir ekranda bir pixel'e karşılık gelir. Font boyutları için tercih edilir


Basit Bir BaseAdapter Örneği

Kategori listesi (Category sınıfı basit bir sınıftır) gösteren bir listview için tanımlanan adapter aşağıdaki gibidir :

import java.util.*;
import android.view.*;
import android.widget.*;
public class CategoryBaseAdapter extends BaseAdapter{
	private List<Category> categoryList;
	
	public CategoryBaseAdapter(List<Category> categoryList) {
		this.categoryList=categoryList;
	}
	@Override
	public int getCount() {
		return categoryList.size();
	}
	@Override
	public Category getItem(int position) {
		return categoryList.get(position);
	}
	@Override
	public long getItemId(int position) {
		return categoryList.get(position).getId();
	}
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		
		TextView tv=new TextView(parent.getContext());
		
		tv.setText(categoryList.get(position).getTitle());
		
		return tv;
	}
}

CategoryBaseAdapter sınıfı BaseAdapter'ı extends etmiş ve gerekli method'ları yazılmıtır. Kurucuda kategori listesi alınmıştır. getView fonksiyonunda bir TextView yaratılmış ve değeri kategorinin başlığı (categoryList.get(position).getTitle() ile alınmıştır) yapılmıştır.
Bu adapter aşağıdaki gibi bir listview'e verilebilir :

ListView list=(ListView) findViewById(R.id.listView1);
listView.setAdapter(new CategoryBaseAdapter(result));

ListView Maddelerinin Köşeleri Yuvarlatılmış Dikdörtgen Şekilde Gösteren Örnek

ListView maddeleri köşeleri yuvarlatılmış bir dikdörtgen olarak gösterilebilir. drawable klasörülerine aşağıdaki gibi bir xml, rounded_corners.xml adıyla eklenir :

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#eeeeee"/>
    <corners android:radius="5dp" />
    <padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" />
    <stroke android:width="2dp" android:color="#cccccc"/>
</shape>

Liste maddesi TextView ise madde aşağıdaki gibi bu şekil backgroud'a yerleştirilebilir :

TextView tv=...
tv.setBackgroundResource(R.drawable.rounded_corners);

Bu işlem tamamlandıktan sonra liste köşeleri yuvarlatılmış olarak görülecektir :


Bir Liste Maddesinin Tıklanmasını Dinlemek

Bir listenin bir maddesinin tıklanmasını dinlemek için OnItemClickListener interface'i (arayüz) kullanılmaktadır. Bu interface aşağıdaki gibi bir method içerir :
public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)
Parameterlerin açıklaması aşağıdaki gibidir :
  • parent : Click işleminin gerçekleştiği ana bileşen (örneğin ListView nesnesi)
  • view : Tıklanan maddenin View nesnesi
  • position : Tıklanan maddenin listedeki index'i , sırası
  • id : Tıklanan maddenin id'si


px Yerine dp Kullanın

Android çok farklı boyutlardaki cihazlarda çalışmaktadır. Bu nedenle px yerine boyutlarda dp tercih etmeniz gerekmektedir

Adapter Android Arayüzünde Kullanılan Ölçü Birimleri BaseAdapter Basit Bir BaseAdapter Örneği Bir Liste Maddesinin Tıklanmasını Dinlemek ListAdapter ListView ListView Maddelerinin Köşeleri Yuvarlatılmış .. onItemClick OnItemClickListener px Yerine dp Kullanın



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir