Layout. (Düzen,Plan,Yerleşim)

Benzer belgeler
Görsel Komponentler. TextView. Metin değerlerini ekranda göstermek için kullanılır.

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME

Android ile SQLLite Veri Tabanı

Android Kaynakları (Resources)

Android Ders Notları

Proje 1. Arayüz Tasarımı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi KULLANICI ARAYÜZ. BLM401 Dr.Refik SAMET

Listview Kullanımı. Aşağıdaki örnekte bir ListView'ı birkaç ülke ismiyle dolduracağız.

Windows form uygulamalarından alışık olduğumuz sabit piksel koordinatları, WPF ile son buldu. WPF uygulamaları farklı çözünürlüklerde çalışsalar bile

T.C. KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Android Studio Dersleri

EĞİTİM KURUMLARINDA SINIF İÇİ YOKLAMA, SINAV GİBİ UYGULAMALARIN TABLET BİLGİSAYAR KULLANARAK HIZLI VE VERİMLİ HALE GETİRİLMESİ

MOBİL UYGULAMA GELİŞTİRME

Fırat Üniversitesi DENEY NO: 4 MOBİL UYGULAMALAR

Mobil Uygulama Ders Notları v0.6

Android de Video Nasıl Oynatılır?

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Activity Context.startActivity Activity, AndroidManifest

KDV Beyannamesinin ekinde verilen Kısmı Tevkifat Uygulaması Kapsamındaki İşlemlere Ait Bildirim, Muhasebe IV modülünden hazırlanabilir.

CUSTOMSLİDİNG KULLANIMI

BMH-210 MOBİL CİHAZ PROGRAMLAMA. Android OS Tanıtımı, Kurulumu, Bileşenleri, Önemli noktalar Dr. Musa ATAŞ

Ekran 1: Ziraat Bankasından alınan Excel formatındaki ZIRAATBANKASI.XLS isimli dosya

Bazı Ulusal Marketlere Ait Örnek Tanımlamalar

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

İşlem Adımları. 23 Haziran Stok, Cari, Fatura

CARİ HESAP ANALİSTİ. Seçilmiş olan cariyi burada görebilirsiniz.

Site Temizlik Projesi Kodları

Mobil Uygulama Ders Notları v0.5

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1

Espresso ile Android Uygulama Testi

KDV Beyannamesinin ekinde verilen Kısmı Tevkifat Uygulaması Kapsamındaki İşlemlere Ait Bildirim, Muhasebe IV modülünden hazırlanabilir.

YENİ NESİL ÖKC İLE ON-LİNE İŞLEMLER (Hugin / Profilo)

Dizaynda Word Desteği

MOBİL UYGULAMA GELİŞTİRME

Enlil programını açtığımızda karşımıza gelen ilk ekrandır.bu ekranda özel tanımlanmış kullanıcı kodu ve parola ile programa giriş sağlanmaktadır.

MS WORD 5. BÖLÜM. Şekil Sayfa Düzeni Sekmesi. Şekil Temalar Grubu

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

PERSONEL BANKA IBAN BİLGİSİ DEĞİŞİKLİĞİ UYGULAMA KILAVUZU

5. Tablo İşlemleri. Bu bölümü bitirdiğinizde,

BÖLÜM 04. Çalışma Unsurları

HTML Bloklar. CSS Display özelliği

Android Studio TextView ve EditText Öğr.Gör. Utku SOBUTAY

Ürün Profil ve Yapılandırma Kodu Tanımlama

Program ile birlikte 4 adet örnek Excel dosyası ve bu dosyaları transfer etmekte kullanılan örnek dizaynlar verilmektedir.

Fatura Dosyalarını Yükleme ile ilgili Detaylar. 14 Temmuz 2014

KURUMLAR GEÇİCİ VERGİ VE GELİR GEÇİCİ VERGİ BEYANNAMELERİNDE GEÇİCİ VERGİ DÖNEMİ İÇERİSİNDE FAALİYET KODU İTİBARİYLE BRÜT KAZANÇ DAĞILIMI

02 Temmuz İlgili Versiyon/lar: ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler: Muhasebe IV

Trakya Üniversitesi Mühendislik-Mimarlık Fakültesi Bilgisayar Mühendisliği Bölümü. BM Yazılım - Staj Raporu

Q-Biz İş Zekası 5.1. Versiyon Yenilikleri

Katma Değer Vergisi Beyannamesinin (2) ekinde verilen Katma Değer Vergisi Kesintisi Yapılanlara Ait Bildirim, Muhasebe IV modülünden hazırlanabilir.

BAY.t ENTEGRE PRO e-fatura ÇÖZÜMÜ ENTEGRATÖR KULLANIM YÖNTEMİ

Q-Biz İş Zekası Versiyon Yenilikleri Ekim 2014

Metin Tabanlı İçerik Oluşturma Araçları

MICROSOFT WORD Word 2000/II TAB AYARLARI :

Web Tasarımının Temelleri

Site Tasarım Çalışması -3

Sade ve tam ekran masaüstü kullanımının temel çıkış noktası, aranılan özelliğe çabuk erişimi sağlayan yenilikçi kullanıcı deneyimidir.

LOGO PARTNER MEETING

Alın Tornalamada izlenecek işlem sırası şu şekildedir

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 5

ENROUTEPLUS TA YAPILMASI GEREKENLER

2. GÜN. Daha açık bir ifadeyle,

VERİ TABANI YÖNETİM SİSTEMLERİ II 8. RAPORLAR VE ACCESS PROGRAMINDA RAPOR OLUŞTURMA

1 - Button Kontrolu Nasıl Yapılır?

Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur.

Site Temizlik Projesi Kodları. Site Tasarım Çalışması -3

Konik ve Kavisli yüzey Tornalamada izlenecek işlem sırası şu şekildedir

Taşınır Mal Yönetmeliği ve TAŞINIR KAYIT VE YÖNETİM SİSTEMİ Semineri

BÖLÜM 5 5. TABLO OLUŞTURMAK

Görsel Programlama (Visual Programming) 2.Hafta

7 Temmuz Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar

Burak Kıymaz JAVA FX

ÜCRET BORDROSUNDA DEĞĐŞEN SAHALAR

STOK Şimdi Stok Tanımları içindeki sekmeleri ve sekmelerin içindeki özellikleri açıklayalım

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

Örnek Ölçülü Site Kodları. Site Temizlik Projesi Kodları. İlk Hafta Sunumu ve Ön Test

Kod Listeleri Genel Yapısı

CSS. 1. CSS nin Yapısı Sınıf (Class) Seçicisi

Uygulama İş Akış Kaydında Koşul Tanımlamaları

Görsel Programlama (Visual Programming) 2.Hafta

3. Metin ve Görünüm Etiketleri

MONTAJ ÇİZİMİN ÖZELLİKLERİ VE GEREKLİ BİLGİLER.

SAĞLIK KURULU ENGELLİ SAĞLIK KURULU RAPORU

Fatura FiĢ GiriĢi ĠÇERĠK

GEÇİCİ HESAPLARI DÜZENLEME İŞLEMLERİ

Proje Takip Platformu Kullanım Kılavuzu

Diziler (Arrays) Çok Boyutlu Diziler

YEREL YERLEŞTİRME KILAVUZU (Bursa Pilot Uygulaması)

Yeni Nesil Tüik e-vt işlemleri. Kullanıcı Kılavuzu

BMRD.exe dosyası ile yapılır (BMDE.EXE kurulumunda c:\byte\entegre\bmrd:exe olarak gelir.)

ORKA da BANKA EKSTRESİ TRANSFERi v2 PROGRAMININ KULLANIM KLAVUZU

Bağlantılar dışarıdan alınan verilerin (bu farklı Excel dosyası da olabilir) özelliklerini düzenlemek ve verilerin son halini almak için kullanılır.

Zirve e-fatura Portal Paketi V. 1.0.xx

ESNEK YAPILANDIRMA UYGULAMASINDA YENİLİKLER

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

GO3 Kullanım Dökümanı

Web Labaratuar Modulu

İşlem Adımları. 18 Mart 2016

Transkript:

Layout (Düzen,Plan,Yerleşim)

Layout LinearLayout TableLayout GridLayout RelativeLayout http://developer.android.com/guide/topics/ui/declaring-layout.html, 9 Mart 2015

Layout Telefon/Tablet Ekranındaki görsel nesnelerin (view/widget) ekranda yerleşimini düzenlemek için gerekli olan yapılardır. Daha kullanışlı arayüzler oluşturmak için gereklidir. Android de an itibaryla aşağıdaki Layoutlar mevcuttur. Ekran farklı view şeklinde kullanılabilir. Nesneler ekranda yan yana(horizantal) veya alt alta (vertical) yerleştirilir. Her widget bir tablo satırı içinde görünür Her widget bir hücre içine yerleştirilir Her widget birbirine göre yerleşir

Layout Activity ekran tasarımmı dosyasıdır. res-layout içerisinde uzantısı.xml şeklinde bulunur. Programa eklenen her yeni Aktivity için arayüz dosyası res-layout içerisine eklenir. Yeni Arayüzleri (Layout) tasarlamak için yeni xml dosya düzenlenmelidir. Layout hem tasarım ekranından (Design), hem de kod (xml) ile yapılabilir. Tasarım yapılsa bile yapılan tasarımın bilgiler xml koduna otomatik eklenir.

XML kodu XML kodları tıpkı HML tagları gibidir. XML elementlerinin değeri ve özellikleri tanımlanır. <element attr="value" attr="value">... </element> <element attr="value" attr="value" /> (kendi kendine kapatılmış)

Örnek: XML kodları <ders adi= BIL241" donem= bahar"> <hoca>kazım Koç</hoca> <yardimci>yok</yardimci> </ders> <LinearLayout. android:layout_width="fill_parent" android:layout_height="wrap_content android:orientation="vertical > </LinearLayout> android:layout_width="wrap_content" android:text="button3" android:id="@+id/button3"/>

FrameLayout <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mainactivity"> <TextView android:text="@string/hello_world" android:layout_width="wrap_content" android:id="@+id/textview1"/> android:layout_width="wrap_content" android:text="new Button" android:id="@+id/button" android:layout_gravity="center_horizontal top" /> </FrameLayout>

LinearLayout android:orientation=«horizantal» android:orientation=«vetical» Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

LinearLayout (Horizantal) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=http://schemas.android.com/tools android:orientation="horizontal" tools:context=".mainactivity"> android:text="button1" android:id="@+id/button1"/> android:text="button2" android:id="@+id/button2" /> </LinearLayout>

LinearLayout (Vertical) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=http://schemas.android.com/tools android:orientation= vertical" tools:context=".mainactivity"> android:layout_width="match_parent" android:text="button1" android:id="@+id/button1"/> android:layout_width="match_parent android:text="button2" android:id="@+id/button2" /> </LinearLayout>

TableLayout <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=http://schemas.android.com/tools android:stretchcolumns="1" tools:context=".mainactivity"> <TableRow> android:text="button1" android:id="@+id/button1"/> android:text="button2" android:gravity="right" android:id="@+id/button2" /> </TableRow> <TableRow> android:text="button3" android:id="@+id/button3"/> android:text="button4" android:gravity="right" android:id="@+id/button4" /> </TableRow> </TableLayout>

GridLayout Ekranı satır ve sütunlara böler. Android 4 den sonraki sürümler ile birlikte gelmiştir. Oriantation(vertical, horizantal) özelliği satıra göre mi, yoksa sütuna göre mi sıralama olacağını ifade eder. Tablo satır ve sütunları başlangıçta eşit büyüklüktedir. Her bir nesne sırasıyla Satır/sütun şeklinde sırayla yerleştirilir. Ancak istenirse nesnenin yerleşeceği satır ve sütun belirlenebilir (android:layout_row="1, android:layout_column="2"). Satır ve sütun indisleri 0 dan başlar Örnek: 4 Satır 3 sütunlu bir GridLayout Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

GridLayout örnek-1 <GridLayout... android:rowcount="2" android:columncount="3" tools:context=".mainactivity">... android:text="button 1" />... android:text="button Two" />... android:text="button 3" />... android:text="button Four" />... android:text="button 5" />... android:text="button Six" /> </GridLayout> Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

GridLayout örnek-2 <GridLayout... android:rowcount="2" android:columncount="3" android:orientation="vertical">... android:text="button 1" />... android:text="button Two" />... android:text="button 3" />... android:text="button Four" />... android:text="button 5" android:layout_row="1" android:layout_column="2" />... android:text="button Six" android:layout_row="0" android:layout_column="2" /> </GridLayout> Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

GridLayout örnek-3 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=http://schemas.android.com/tools android:columncount="3" android:rowcount="2" tools:context=".mainactivity"> android:text="button1" android:id="@+id/button1"/> android:text="button2" android:gravity="right" android:id="@+id/button2" /> android:text="button3" android:id="@+id/button3"/> 1,2 ( ilk satır ve ilk sütün (0,0) ) android:text="button4" android:layout_row="1" android:layout_column="2" android:id="@+id/button4" /> </GridLayout>

GridLayout örnek-4 <GridLayout... android:rowcount="2" android:columncount="3 >... android:text="b1" />... android:text="b2" />... android:text="button Number 3!" />... android:text="b4" android:layout_columnspan="2 android:layout_gravity="center" />... android:text="b5" />... android:text="b6" android:layout_paddingtop="40dp" android:layout_paddingbottom="40dp" />... android:text="b7" />... android:text="button #8" </GridLayout> android:layout_gravity="right" /> Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

RelativeLayout (Default) Nesnelerin birbirlerinin konumu dikkate alınarak yerleştirme yapılır. orelative to parent : kendi kendine referans (Activity kendisine) orelative to diğer widgets/views ox-pozisyonu: Left, right, center oy-posizyonu Top, Bottom, Center Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

Relative to Anchor Points Reative X/Y diğer nesnelere (view/vidget) layout_below, above, toleftof, torightof x/y relative to Container (Activity): içinde bulundu yere göre layout_alignparenttop, Botom, Left, Right layout_centerhorizontal, Vertical, InParent android:text="button2 android:id="@+id/button2" android:layout_alignparenttop="true" android:layout_centerhorizontal="true" /> android:text="button3 android:id="@+id/button3" android:layout_below="@+id/button2" android:layout_centerhorizontal="true" />

RelativeLayout (Default değer) Nesnelerin birbirleri dikkate alınarak yerleştirilir. Performans açısından en iyi layout dur. <RelativeLayout. android:text="button1" android:id="@+id/button1"/> android:text="button2" android:id="@+id/button2" android:layout_alignparenttop="true" android:layout_centerhorizontal="true" /> android:text="button3" android:id="@+id/button3" android:layout_below="@+id/button2" android:layout_centerhorizontal="true" /> </RelativeLayout>

Gravity Gravity: nesnenin içinde bulunduğu yerde ne tarafa yaslanacağını belirler. - top, bottom, left, right, center - Bunların kombinesi olarak araya sembolü ile birden çok olabilir Layout içindeki nesneler ortaya ve sağa yaslanacak <LinearLayout... android:orientation="vertical" android:gravity="center right» >... android:text="button 1" />... android:text="button 2 Hooray" />... android:text="button 3" />... android:text="button 4 Very Long Text" />... android:text="button 5" android:layout_gravity="left" /> </LinearLayout> Layout içindeki nesneler ortaya ve sağa yaslanırken «Buton 5» sola yaslanacak Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

weight weight: toplam ekran alanının widgetler arasında paylaşımıyla ilgilidir. Tam sayı olarak 1,2 verilir ve N/toplam formülüyle hesaplanır. Örnek: Aşağıdaki gibi tanımlanmış bir layout da butonların yerleşimi: <LinearLayout... android:orientation="vertical">... android:text="b1" android:layout_weight="1" />... android:text="b2" android:layout_weight="3" />... android:text="b3 android:layout_weight="1" /> </LinearLayout> Örnekte layout_weight değerleri toplamı: 1+3+1=5 dir B1 için; android:layout_weight="1" ise 1 /5 ini kaplar B2 için; android:layout_weight= 3" ise 3 /5 ini kaplar B3 için; android:layout_weight="1" ise 1 /5 ini kaplar Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

wrap_content / match_parent wrap_content: nesnenin içindeki yazı kadar büyür. match_parent: nesne içinde bulunduğu kabı kaplar android:layout_width="wrap_content" android:text="button1" android:id="@+id/button1"/> android:layout_width="match_parent" android:text="button2" android:id="@+id/button2"/>

pading Pading: nesnenin içindeki yazı kenarlardan (Top, Bottom,Left, Right) ne kadar mesafede olacağını belirler. Örnekte: Buton 1 de sadece pdding:50dp verilmiş dolayısıyla (Top,Bottom,Left,Right) 50 şer dp ayrılmış Buton 2 de belirtilmemiş Buton 3 de soldan (paddingleft) 30dp ve alttan (paddingbottom) 40dp mesafe bırakılmış <LinearLayout... android:orientation="vertical">... android:text="button 1" android:padding="50dp" />... android:text="button 2 Hooray" />... android:text="button 3 android:paddingleft="30dp" android:paddingbottom="40dp" /> </LinearLayout> Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

margine margine: nesnenin kendisine komşu olan nesnelerden olan mesafesi. setlayout_margin ifadesiyle tüm taraflardan olan mesafeyi;toadjustallsides; layout_margintop, Bottom, Lefrt, Right ile hangi taraftan olacağı belirtilir <LinearLayout... android:orientation="vertical">... android:text="button 1" android:layout_margin="50dp" />... android:text="button 2 Hooray" />... android:text="button 3 android:layout_marginleft="30dp" android:layout_margintop="40dp" /> </LinearLayout> Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

Nested Layout (İç içe Layout) <OuterLayoutType...> <InnerLayoutType...> <Widget... /> <Widget... /> </InnerLayoutType> <InnerLayoutType...> <Widget... /> <Widget... /> </InnerLayoutType> <Widget... /> <Widget... /> </OuterLayoutType> Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015

Nested Layout (İç içe Layout) <LinearLayout > <ImageView android:id="@+id/resim" android:layout_width="60dp" android:layout_height="60dp /> <LinearLayout android:layout_width="wrap_content" android:layout_height="80dp" android:orientation="vertical"> <TextView android:id="@+id/textview1 android:layout_width="wrap_content" android:text="new Text" android:textsize="25dp" /> <TextView android:id="@+id/textview2 android:layout_width="wrap_content" android:text="new Text" android:textsize="15dp" /> </LinearLayout> </LinearLayout> Kaynak:http://web.stanford.edu/class/cs193a/lectures.shtml, 8 Mart 2015 resim textview1 textview2

Nested Layout (İç içe Layout) <LinearLayout. android:orientation="vertical" tools:context=".mainactivity"> <LinearLayout android:layout_width="fill_parent android:orientation="vertical > android:layout_width="wrap_content" android:text="button1" android:id="@+id/button1"/> android:layout_width="match_parent" android:text="button2" android:id="@+id/button2"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent android:orientation="horizontal"> android:layout_width="wrap_content" android:text="button3" android:id="@+id/button3"/> android:layout_width="match_parent" android:text="button4" android:id="@+id/button4"/> </LinearLayout> </LinearLayout>

Kodla Layout - widget ekleme LinearLayout linlayout = new LinearLayout(this); Button b = new Button(this); b.settext("hello Button"); linlayout.addview( b ); setcontentview(linlayout);