XML Nedir
XML, Açılımı ile genişletilebilir işaretleme dilidir Android Proğramlama sırasında sıkça XML ile çalışacaksınız
XML'i Android Studio'da Palette İçindeki Text,Button,Label gibi araçları düzenlerken onların yapısını değiştirirken kullanacağız Yani bir nevi nesne tanımı yapacağız XML ile
Yani XML Verileri tanımlamak için kullanılan bir dildir
Çoğu işletim sistemi ve Cihaz tarafından okunabilir
HTML İle benzerliği vardır XML'in
Kısmen MetaData Dildir
Siz Android geliştirici olmak istiyorsanız kesinlikle ve kesinlike XML ile tasarım yapmayı öğrenmelisiniz bu şekilde var olanın dışına çıkıp daha komplike ve görselliği düzgün olan tasarımlar yapabilirsiniz
Farklı cihazlar arasında veri alışverişini kolaylaştırdığı için uyumsuzluk ve kopmaları engeller niteliktedir.
Örnek birkaç etiket verecek olursak genişlik,uzunluk,yükselik etiketleri XML tasarımlarımızda temez etiketlerdir bunlara daha fazlası eklenebilir ama şimdilik bu 3 örneği verdim
Sürükle-Bırak (toolbox) yöntemi çok sıradan ve var olan içerikler üzerine dayalı olduğundan dolayı bu önerilmez biz de XML tasarım yapacağız
Örnek XML Kodlarının Resmini Yukarda Belirttim, Tasarım Sırasında Bu Tip Kodlardan Yürüyeceğiz.
Layout Nedir
Oluşturduğumuz Android Projelerinde nesneleri düzenlediğimiz yani Arayüz kısmı acitivity_main.xml olarak gözükür bu Arayüz kısımlarını Layout ile tasarlarız.
Layout Android Projemizdeki res Klasörünün içindeki xml dosyalarıdır
Yukarıda Gördüğünüz Resimde Layout Sayfamız Ve Sol Tarafında İse Bahsettiğim res Dosyamız Ve activiy_main.xml Dosyaları Gözükmektedir
İsterseniz Sol Taraftan Ek Layout Dosyası Ekleyebilirsiniz.
Ben Genellikle Layout Yönlendirme İçin Kullanıyorum.
Android Tasarımında Layout bizim için yol arkadaşı olacak.
Kısmen uygulamamızın temelini burdan oluşturacağız ve burası bizim için başlangıç yeridir.
Sürükle-Bırak seçenği ile ToolBox araçlarını ekleyebilir veya XML Kısmında XML İle kodlarla araç oluşturabilirsiniz.
Layout Türleri | Linear Layout
İçeriklerin Yatay veya Dikey olarak hizalanmasıdır
androidrientation="horizontal" veya "vertical" seçeneklerinden biri belirlenir bu nitelikler ile Linear Layout gerçekleştirilir
Layout Türleri | Relative Layout
Konumlandırma göreceli olarak gerçekleştirilir yani bir view'e göre başka bir view'e göre eşit hizalandırmadır
Yani A View'i B'View'i ile eşit hizalanır
Eğer A View'i B View'inin altında olsun İsterseniz
android:layout_below=id
Komutu ile gerçekleştiririz
Layout Türleri | Table Layout
Viewleri satırlara ve sütunlara gruplayan bir Layout türüdür
Kısacası Tablo oluşturmanızı sağlar
Layout Türleri | Absolute Layout
View'lerin tam konumunun belirlenmesini sağlayan Layout türüdür
Başka bir değişle kullanacağızın öğeler için nokta atışı yaptığınız, pixel pixel konum belirtip konumlandırabileceğiniz Layout türüdür
Layout Türleri | Frame Layout
Tek bir eleman olabilir ve tek te birden fazla eleman veya öğe göstermek için kullanılır
Kısmen buna çerçeve düzeni de denebilir.
Layout Türleri | Constraint Layout
Android ögelerini (toolbox) Sürükle bırak yöntemini kullanabilmemize yarar bu sayede hiç uğraşmadan kolaylıkla konumlandırma yapabiliriz.
Ek Olarak Constraint Layout kullanarak her türlü cihaza tasarım açısından uyumluluk sağlayabiliriz
Layout Nitelikleri
Bir Linear Layout Oluşturalım arkadaşlar.
Gördüğünüz gibi boyut istiyor önce
android:layout_width="" yani genişlik istiyor sonra
android:layout_height="" yani yükselik istiyor.
Linear Layout olduğu için Orieantation oluşturmak zorundayız bunu sebebi ise hizalama yatay mı yoksa dikey mi olacak Öğemiz (layout) bunu bilmeli
android:layout_width="" ayarlayalım arkadaşlar
android:layout_widht="50" YANLIŞ KULLANIM
android:layout_width="50dp" DOĞRU KULLANIM
İlla 50dp Kullanmak zorunda değilsiniz birden fazla terim vardır birden fazla boyut ayarı vardır bunlar için Ctrl-Space Basarsanız 6 terim karşısına çıkacaktır benim önerim dp kullanmanızdır.
Aynı işlemler android:layout_height="" için'de geçerlidir arkadaşlar
Biz bir tane daha layout eklersek iki layout üst üste duracaktır bunu sebebi Relative Layout olmasıdır Bunu önlemek için göreceli konumlandırma yapmamız gerekiyor
TextView id'imizi alalım ve LinearLayout bölümüne inelim
Yazmamız gereken komut
android:layout_below="Text nesnemizin id'sini yazıyoruz"
Bu sayede iki nesne de alt alta oldu
Layout'umuz şuan ekranda görünmemektedir o yüzden bir arka plan rengi tanımlayacağız arkadaşlar.
android:background="istediğimiz renk kodu"
Bu sayede eklediğimiz layout'u görebiliyoruz
Güncel Kod İçeriğimiz ise Şu Şekilde Gözüküyor
Layout'umuzun genişliği mobil cihazımızın ekran genişliğiyle aynı olsun istiyor isek hatırlarsanız
android:layout_width="50dp" yazmıştık buraya gelelim ve 50dp yi silip Ctrl-Space tuşlarına basalım.
Karşımıza 2 seçenek gelecek
match_parent - Layout Genişiği Ve Yükseliği Mobile Uyumlu Olur
Kullanımı İse Şu Şekilde ;
android:layout_height="match_parent"
android:layout_width="match_parent"
wrap_content - Layout İçerisindeki Ögelerin Boyutları Kadar Boyut Alır
Kullanımı İse Şu Şekilde ;
android:layout_width="wrap_content"
android:layout_height="wrap_content"
Sonuç olarak wrap_content neye göre hizalanıyor diyeceksiniz arkadaşlar wrap_content text_size'ye göre hizalanır
android:text_size"50dp" kendinize göre ayarlayabilirsiniz bunu
android:layout_margin >>> Kelime anlamı olan kenar boşluğudur.
Dıştan içe doğru Layout'umuzun kenar boşluğunu android:layout_margin ile ayarlayabiliriz.
Kullanımı ise kolay, RelativeLayout'a gelip android:layout_margin"50dp" veya istediğimiz bi dp ayarını veriyoruz
Veya biz sadece yukardan boşluk versin istersek bunu da;
android:layout_marginTop="50dp" komutu ile yapabiliriz sonuç olarak yukardan boşluk verecektir
androidadding="" >>> Bunun amacı da Margin gibidir ama busefer içten boşluk verirsiniz.
Kullanımı ise şu şekilde;
androidadding="50dp" yazarsanız Layout içine eklediğimiz text veya herhangi bi öge bulunduğu konumdan 50dp içeri kayacaktır
android:gravity="" >>> Diyelim ki biz içeriğimizi yani text veya başka bir ögeyi Sola,Sağa,Yukarı,Aşağı kaydırmak istiyoruz bunun içinde Gravitiy niteliğini kullanırız
Kullanımı şu şekilde;
android:gravity="center" Komutunu kullanır isek Layout içindeki ögemiz layout'un tam ortasında konumlanacaktır
Ctrl-Space Basalım karşımıza değerler geldi
android:gravity="bottom" Komutunu kullanır isek ögemiz aşağı sola gider eğer ekrana bitişik olmasını isterseniz androidadding"50dp" komutunu değiştirerek ayarlayabilirsiniz
Peki hem aşşağıya hemde sağa doğru yaslamak istersek şu komutu kullanmalıyız;
android:gravity="bottom|right" komutunu kullanırız bu sayede hem aşağıda hem de sağda konumlandı
Başka bir gravity kullanımı ise ;
android;gravity="top|right"
komutunu kullandık ve layout içindeki ögemiz üst sağ tarafta konumlandı
Ögemizi ortaya getirip sola yaslamak istersek
android:gravity="left|center"
komutu kullandık hem ortalı hem de sola konumlanmış şekilde gördük
bunu "right|center" yaparsak sağa doğru yaslı olarak konumlanır.
Ek olarak tüm yazdığımız XML Kodları ve nitelikleride alt tarafa vereceğim hepsinin anlatımını yaptık
XML Kodlarımız
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:text="50dp"
android:textSize="50dp"
<LinearLayout
androidrientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="renk kodu"
android:layout_below="itemid"
android:layout_marginTop="50dp"
android:gravity="center"
>
Konu Resimlerinin Netliğinden Dolayı Affınıza Sığınıyorum Dostlar...
Kendi Sistemimde Olmadığım İçin Böyle Bi Sıkıntı Yaşadım.
Eğitim Sürecinde Bir Sorun Yaşadığınızda Bana Telegram Veya Özel Mesaj Yoluyla Ulaşabilirsiniz Merak Ettiklerinizi Sorularınızı Sorunuz Lütfen
Herkese İyi Forumlar