Merhaba arkadaşlar bu yazımızda Andorid’in yerleşim türlerinden biri olan Linear Layout‘u anlatacağım size.
Bir önceki yazımızda RelativeLayout’u anlatmıştım bu yazımda ise LinearLayout’u anlatacağım. Öncelikle bu Linear Layout nedir ne işe yarar onu anlatayım. Kelime anlamı çizgisel olan bu yerleşim türü uygulamamızda kullanacağımız nesneleri doğrusal olarak peş peşe dizmemizi sağlar. Linear Layout’un iki türlü kullanım şekli vardır birisi Vertical LinearLayout (Dikey), diğeri ise Horizontal LinearLayout (Yatay) türüdür. İki Linear Layout türünün de çalışma mantığı aynıdır. Şimdi size örnekler sunup bunların kaynak kodlarıyla size Vertical LinearLayout (Dikey) ve Horizontal LinearLayout (Yatay) türlerini anlatayım.
Yukarıdaki tasarımdan da anlayacağınız gibi Vertical LinearLayout kullandım. Gördüğünüz gibi nesneleri ekranın soluna, sağına yada merkeze yerleştirmiş olsam dahi yan yana yerleştiremedik hepsi bir diğer nesnenin altına yerleştirilmiş durumda.Şimdi Kaynak kodları üzerinde size gerekli açıklamaları yapıp Horizontal LinearLayout ‘a geçeceğim.
LinearLayout android:orientation="vertical"//Layout'un dikey layout olması sağlanmış. android:layout_width="match_parent"//Layout'un yatayda ekranı tamamen kaplanması sağlanmış. android:layout_height="match_parent"//Layotu'un dikeyde ekranı tamamen kaplanması sağlanmış. android:layout_centerHorizontal="true"//layout'un yatay hizalamada merkezde olması sağlanmış. android:layout_alignParentTop="true"//Layout'un en üstte olması sağlanmış. tools:context="com.onedevelopers.devrim.myapplication.MainActivity" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_gravity="center_horizontal"//Nesnenin yatay hizalamada merkeze yerleştirilmesi sağlanmış. Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button2" android:layout_gravity="center_horizontal"//Nesnenin yatay hizalamada merkeze yerleştirilmesi sağlanmış. Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button3" android:layout_gravity="left"//Nesnenin yatay hizalamada sola yerleştirilmesi sağlanmış. Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button4" android:layout_gravity="right" //Nesnenin yatay hizalamada sağa yerleştirilmesi sağlanmış. LinearLayout
Yukarıda Vertical LinearLayout’un kodlarını inceledik şimdi ise Horizontal LinearLayout kullanılmış bir programın görüntüsünü verip daha sonra beraber kodlarını inceleyeceğiz.
Yukarıda ki tasarımdan da anlayacağınız gibi ne kadar nesne eklemiş olsam dahi nesneler her zaman yan yana dizilir. Şimdi Kaynak kodlarını verip üzerinde size gerekli açıklamaları yapacağım.
LinearLayout android:orientation="horizontal"//Layout'un yatay şekilde kullanılması sağlanmış. android:layout_width="match_parent"//Layout'un yatayda ekranı tamamen kaplanması sağlanmış. android:layout_height="match_parent"//Layotu'un dikeyde ekranı tamamen kaplanması sağlanmış. android:layout_centerHorizontal="true"//layout'un yatay hizalamada merkezde olması sağlanmış. android:layout_alignParentTop="true"//Layout'un en üstte olması sağlanmış. tools:context="com.onedevelopers.devrim.myapplication.MainActivity" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button2" android:layout_weight="1" //Kodu aşşağıda daha detaylı şekilde anlatacağım. Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button3" LinearLayout
Yukarıdaki kodlarda diğerinden farklı olarak ” android:layout_weight=”1″ ” kodu bulunmakta. “Weight” koduna değer olarak 1 ve 0 girilimektedir. Tasarımda”Weight” değeri girilen nesneye öncelik verilmesini sağlar. Eğer hiçbir nesneye “Weight” değeri vermez isek tüm nesneler eşit genişlikte bulunur ve nesneler ekrana yatay olarak sığmazsa sağında boşluk kalır ancak nesnelerden birine “Weight” değeri verirsek yukarıda görüntüsünü verdiğim tasarımdaki gibi weight değeri verdiğim nesne diğerlerine göre daha geniş ve ekrana tam sığdırılmış durumdadır.“Weight” sadece Horizontal LinearLayout’da değil Vertical LinearLayout’da da kullanılabilir. Vertical LinearLayout ve Horizontal LinearLayout iç içe veya beraber de kullanılabilirler. Bunla ilgilide bir örnek vermek isterim.
Yukarı da verdiğim örnekte hem alt alta hem yan yana dizilmiş nesneler bulunmakta. Bu örnekte yukarıda gördüğümüz “Weight” değerini hiç bir nesneye vermeden ve her nesneye ayrı bir şekilde vererek aralarındaki farkları anlamanızı kolaylaştırmak istedim. Kaynak kodlarını da aşşağıda size vereceğim bu kodları inceleyerek eminim kullanımını iyice kavrayacaksınız.
LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerHorizontal="true" android:layout_alignParentTop="true" tools:context="com.onedevelopers.devrim.myapplication.MainActivity" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_gravity="center_horizontal" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button2" android:layout_gravity="right" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button9" LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button3" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button4" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button5" LinearLayout LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button6" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button7" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button8" android:layout_weight="1" LinearLayout LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button10" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button11" android:layout_weight="1" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button12" LinearLayout LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button13" android:layout_weight="1" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button14" Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button15" LinearLayout LinearLayout
Android ile ilgili yazılarınızı dikkat ile okuyorum. Java kodları ile ilgili de kodlarınızı bekliyorum.