Android Programlama -13

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..

 

Kübra Hebeş

Bilgisayar Mühendisi

One thought on “Android Programlama -13

Leave a Reply

Your email address will not be published. Required fields are marked *