4 Mart 2015 Çarşamba

Layout xml attribute leri

Layoutların görsel özelliklerini belirler.

--id:

unique olmasında fayda var çünkü özellikle relative layout ta elemanlar birbirlerine bakarak yerleşiyorlar.
layout xml dosyasına string olarak kaydedilir.
View dan inherit edilir.
syntaxı şu şekilde: android:id="@+id/my_button".
baştaki @ işareti xml parsera takip eden stringi id resource olarak parse etmesini söylüyor.
@ işareti konmazsa düz string olarak görür.
+ işareti yeni bir resource adı yaratılması ve R dosyasına eklenmesi gerektiğini söyler.
Android in sistem kaynaklarindan birine erişmek için android:id="@android/abc" şeklinde yazmak gerekir.
Bu ifadeyle android.R resource classından bir id yi referans veriyoruz demektir.
Örnek olarak bir buton tanımlarken:
<Button android:id="@+id/my_button"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/my_button_text"/>
Tanımladıktan sonra onCreate() metodunda buna şöyle erişiriz:
Button myButton = (Button) findViewById(R.id.my_button);


--layout_width: genişlik , layout_height : yükseklik

Her ViewGroup classı ViewGroup.LayoutParams classını extend eden bir nested classı implement eder.
Örneğin bir LinearLayout içindeki View lar LinearLayout.LayoutParams ı implement ederler.
Bu subclass grup içindeki boyut ve pozisyonunu belirtir.
layout_width ve layout_height attribute larının her view tarafından belirtilesi mecburidir.
Bunları pixel yerine constantlar ya da dp (density-independent pixel) birimiyle belirlemek daha doğrudur.
Çünkü bu sayede her boyuttaki cihaza uygun şekilde boyutlanacağını garanti etmiş oluruz.
Genelde şu constantlarla boyut belirtilir:
- match_parent : parent ViewGroup izin verdiği kadar büyük olur. (api 8den once adı fill_parent idi)
- wrap_content : içeriği kadar boyutlanır.
{}

--margin: View larda margin yoktur fakat ViewGroup larda vardır.

--padding: content i kenardan içeri çeker. setPadding() ve getPadding() metodları ile belirlenir.

Layout position:

Bir view ın şekli dikdörtgendir.
Sol ve üstten pozisyonunu bulmak için "getLeft()" ve "getTop()" kullanabiliriz.
Bunların döndürdüğü değer parent ına göre relative değerdir ve pixel birimindedir.
Kolaylık olarak sağ ve alt kısmın pozisyonlarını da "getRight()" ve "getBottom()" ile alabiliriz.
getRight() aslında getLeft()+getWidth() ile aynı şeydir.

Layout size :

getMeasuredWidth() ve getMeasuredHeight() ile bir View un olmak istediği boyutu alırız.
getWidth() ve getHeight() ile de parent içerisinde ekrana çizilen gerçek boyutu alırız.

gravity: pozisyon belirtir. top, bottom, left, right, center, start, end vb.

Hiç yorum yok:

Yorum Gönder