Layout dosyamızı oluştururken layout klasoründeki ilgili xml dosyasını açıp “Graphical Layout” sekmesini seçerek görüntü formatında uygulamamıza ilgili nesnelere bu alandan sürükle bırak ile ekleyebiliriz yada xml dosyasına tıklayarak xml formatında bu dosyaları değişebiliriz.
Uygulamalarınızın eclipse içerisinde farklı layoutlarda nasıl göründüğünü merak ediyorsanız. Graphical Layout sekmesi aktifken uygulama üzerinde bulunan seçeneklerden Preview All Scenes seçeneğini seçebilir ve diğer ekranlarda nasıl göründüklerini kontrol edebilirsiniz. Eski ekranınıza dönmek için uygulamada tercih ettiğiniz cihaz adını seçebilirsiniz.
Layoutlarda Ortak View Özellikler
Yukarıda belirttiğimiz gibi layout larda oluşturduğumuz view lere özellikler ekleyebilir ve değiştirebiliriz. Örneğin eklediğimiz bir text için renk belirleyebilir ve bu textin ekranda görüneceği yeri belirleyebiliriz. Bu özellikler gibi Layout larda kullanılan ortak özelliklere kısaca değineceğim. Daha iyi pekiştirmeniz için, ileride bu bahsettiğim özellikleri için android uygularınıda sayfamda yayınlayacağım. Şimdi kısaca bir göz atalım
Layout Width
Uygulamamızda kullandığımız görüntü elemenlarının layout da ne kadar yer kaplayacağını belirleyen bir özelliktir. Layout width özelliğine farklı değerler atanarak nesnelere uygulanmaktadır. Bu özellikler
wrap_content : İhtiyaç duyulan alan kadar nesneyi genişletir.
match_parent :bulunduğu alan içerisinde yatay veya dikey olarak alanı kaplar
fill_parent : Android 2.2 versiyonundan sonra bu özellik match parent olarak değişmiştir
bu özelliklere ek olarak px,pd gibi (dimensions) ölçüler de verebiliriz. Ölçü verdiğimiz taktirde, farklı ekranlarda bozulmalar olacağını unutmayalım.
Bu özelliği daha iyi kavramanız için ilerleyen zamanlarda bir uygulama ekleyeceğim.
Layout Weight
layout weight özelliği bir nesneye içinde bulunduğu alandaki nesneler içerisinde verileceği önceliği belirten özelliktir. Bu öncelikler 0 ve 1 değerleri ile belirtilir.
Layout Gravity
layout gravity bir nesnenin bulunduğu alan içerisinde layoutumuzda nereye konumlanacağını belirten özelliktir.
top, right bottom, left, center, start, end, fill, center_vertical, center_horizontal, fill_vertical, fill_horizontal, clip_vertical, clip_horizontal gibi değerleri alır.
Gravity
gravity, layout gravity birbirine ne kadar yakın olsalarda farklı özelliklere sahiplerdir. Gravity, kullandığımız nesneyi ilgilendiren bir konumlandırma özelliğidir. Layout gravity ise içinde nesnemizin bulunduğu layout’a göre konumlanma özelliğidir
Bu değerlerin daha iyi anlaşılabilmesi için layout_gravity ve gravityler hakkında ilerleyen zamanlarda bir uygulama yayınlacağım.
LinearLayout
İçerisine dizilen nesneleri sırayla dizmeye yarayan en basit layout dur. Ekranın en tepesinden en alta doğru sıralanırlar. Layoutunuz içerisinde LinearLayout lar kullanarak gruplar container ler oluşturabilirsiniz. Ad soyad örneğinde olduğu gibi ad alanınızı bir container içerisine soyad alanını bir container içerisine sıralı bir şekilde atabilirsiniz. LinearLayout larınızı horizontal (dikey) veya vertical (yatay) olarak seçerek nesnelerinizi alt alta yada yanyana görüntülenmesini belirleyebilirsiniz. Bunun için layoutunuzun orientation özelliğine bu seçeneklerden birini vermelisiniz android:orientation="horizantal"
layoutunuzun boyutunuda android:layout_width="fill_parent"
veya android:layout_height="wrap_content"
olarak belirleyebilirsiniz
TableLayout
Table layout verilerimizi satır ve sutun şeklinde göstermek için kullanırız. Table layout html deki table yapısına benzer.
RelativeLayout
Relative layout içinde bulundukları layout’a göre yada birbirlerinin konumlarına göre yerleşirler.
relative layoutlar arasında id vermek zorundayız. RelativeLayout tasarımında ilk eklenen nesne ekranın en tepesinde yer alır ondan sonra eklenenler android:layout_above (belirtilen nesnenin üzerinde), android:layout_toLeftOf (belirtilen nesnenin solunda) ve android:layout_toRightOf (belirtilen nesnenin sağında) şeklinde sıralanır.
FrameLayout
FrameLayout kullandığımız nesnelerin üst üste dizilmelerini sağlar
AbsoluteLAyout Layoutl içerisindeki nesneleri x ve y noktalarına yerleştirmemizi sağlar.
ScrollView Layout içerisinde ekranın altında kalan nesneleri görüntülemek için scroll yapabilmemizi sağlar.