Bana sorarsanız, ara yüz tasarımı projede büyük önem taşıyor.
Ara yüz tasarımını XML dosyası içinden veya Java kodu içinden yapmak mümkün. Ancak statik ara yüzler için Java kullanmanın hiçbir anlamı yoktur.
Ara yüz tanımlamaları ‘res’ klasörü altında bulunan ‘layout’ klasörü içindeki main.xml dosyasında yapılır.
Hemen cup diye tasarıma atlamadan önce, gene her zamanki gibi neyin ne işe yaradığına bakalım:
- Layout: Android uygulamalarının kullanıcı tarafından görüntülenen kısmıdır. Layout üzerindeki her bir nesne,(TextView,Button gibi) hazır Android sınıfları ve Layout oluştururken de nesnelere verilen id’ler ile kontrol edilir.
- EditView: Kullanıcıdan veri almak için kullanılır. EditView sınıfı ile kontrol edilir.
- Button.: Adı üstünde buton oluşturmak için kullanılır. Button sınıfı ile kontrol edilir.
- TextView: Bir layout nesnesidir ve yazı göstermek için kullanılır. TextViewlerin içeriği ve özellikleri fonksiyonlar aracılığıyla değiştirilebilir. TextView sınıfı ile kontrol edilir. Javadaki karşılığı Labeldir.
İlk açtığımız uygulamada, main.xml içerisinde şöyle bir alan bulunmaktadır:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
Şimdi bakalım buradakiler ne demek oluyor?- “android:layout_width” = Text yazılacak alanın genişliğini gösterir.
- “android:layout_height”= Text yazılacak alanının yüksekliğini gösterir.
Not 1: layout_width ve layout_height özelliklerine “fill_parent” demek anne objenin(bu durumda ekranın) tamamını kapla demektir. Buna alternatif olan “wrap_content” değeri de sadece ara yüz içeriğinin gerektirdiği kadar yer kapla anlamına gelir.”fill_parent” ve “wrap_content” dışında bir de “match_parent” mevcuttur. Genellikle bir parçacığın yanına bir başka parçacık yerleştirilirken kullanılır. Durumun böyle olduğunu varsayarsak; önceden var olan parçacıktan kalan yatay ya da dikey alan içinde bulunduğu layoutun sınırlarını tamamlar.
Not 2: “fill_parent”, ekranda sadece saati ya da takvimi gösteren uygulamalar için idealdir.
- “android:text”= Text alanında neyin yazılacağını gösterir.
- “android:id”= Kodun içinden çağırarak müdahele hakkı veren kimliktir.
Not 3: Bilindiği üzere, textview,edittext ve buton gibi nesnelere programlama dilinde component diyoruz. Genelde, componentlere ID vermemiz gerekiyor. @+id/id_adı ifadesi componentlere ID verirken kullanılan standart bir sentaks. Burada componente “id_adı” ID’sini vermiş oluruz. Bir componentin text özelliğine de @string/blabla diyebiliriz. Bu sentaks, kaynak klasöründeki string.xml dosyasına git ve oradaki “blabla” adlı değişkenin değerini al anlamına gelir.
Teşekkürler