Merhaba arkadaşlar bu gün ki makalem de listview ların özelleştirilmesinden bahsedeceğim.
Bir önceki makalem de adaptörler ile ilgili örnek yapmıştık. Okumadıysanız öncelikle onu okumanızı tavsiye ederim. Buradan okuyabilirsiniz.
Standart adaptör kullanımında listview İn item larına biz herhangi bir şekilde müdahale edemiyorduk. Ama kendi adaptörümüzü tanımlarsak, listview da istediğimiz tasarımı uygulayan biliriz.
Şöyle düşünün, tatil için otellere bakıyorsunuz. Her otelin küçük bir fotoğrafı, adı, adresi, kaç yıldız olduğu gibi bilgilerin bulunması gerekmektedir. Bütün otelleri göstereceğimiz için listview kullanmamız gerekmekte. Her otelin birden fazla özelliğini tek satırda göstermek istediğimiz için de adaptörümüzü özelleştirmemiz gerekmektedir.
Adaptörümüzü özelleştirmek isteğimizde bir Java class’ ı, bir layout ve bir java adapter classı oluşturmamız gerekmektedir.
Layout u listview’ın bir satırının nasıl olmasını istiyorsak o şekilde kodluyoruz.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="20dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:id="@+id/linearLayout"> <ImageView android:id="@+id/txt" android:layout_width="match_parent" android:layout_height="230dp" android:src="@drawable/siyah_ev" android:layout_margin="20dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/yorum" android:layout_width="200dp" android:layout_height="40dp" android:layout_marginLeft="20dp" android:text="Kübra Hebesss" android:textColor="#111" android:layout_marginTop="10dp" android:fontFamily="@string/confirm_recovery_body" android:textSize="15dp" /> <Button android:id="@+id/like" android:layout_width="30dp" android:layout_height="30dp" android:layout_marginLeft="50dp" android:layout_marginTop="15dp" android:background="@drawable/like_white" /> <TextView android:id="@+id/like_count" android:layout_width="30dp" android:text="12" android:textColor="#111" android:layout_height="35dp" android:layout_marginLeft="10dp" android:layout_marginTop="14dp"/> </LinearLayout> </LinearLayout> </LinearLayout>
örnek layout kodumuzun çıktısı yukarıdaki gibidir.
Bu sayfayı instagramın ana ekranı gibi düşünebilirsiniz. paylaşım yapacağımız resmi göstermek için bir imageview ekliyoruz kodumuza. Altında paylaşım yapanın adının görülmesi için bir textview, takipçilerin like laya bilmesi için bir buton ve like sayısını gösteren bir textview daha kullanıyoruz.
Tasarımı istediğimiz şekilde yapabilmemiz için gerekli komponentlere margin ve padding özelliklerini set ediyoruz.
Bir makalenin daha sonuna geldik, esenle kalın..
One comment
Pingback: Android Programlama Dersleri | IT Tutorials