Professional Documents
Culture Documents
Original PDF
Original PDF
Kasım ADALAN
Elektronik ve Haberleşme Mühendisi
Freelance Software Developer
Eğitim İçeriği
• Material Design Kütüphanesinin Eklenmesi
• Arayüz Renklerinin düzenlenmesi
• Floating Action Button
• EditText için Floating Labels
• Giriş Kontrolleri
• ToolBar
• Özelleştirilmiş ToolBar
• ToolBar Menu Ekleme
• ToolBar Arama Özelliği
• RecyclerView & CardView
• Özelleştirilmiş RecyclerView
• Bottom Navigation View
• Tabs Layout
• Navigation Drawer
Kasım ADALAN 2
Material Design
Kasım ADALAN 3
Material Design Felsefesi Katmanlardan
Oluşmaktadır.
Kasım ADALAN 4
Material Design Kütüphanelerin yüklenmesi
Kullanmak istediğimiz
görsel nesneyi tasarım
ekranına sürükleyerek
veya indirme butonuna
basarak kütüphaneyi
ekleyebilirsiniz.
Kasım ADALAN 5
Arayüz Renklerinin Özelleştirilmesi
• Arayüz renklerinin düzenli bir yapısının olması için ve erişim
kolaylığı sağlamak adına renkler Color.xml dosyasında tutulur.
• Tema içerisinde kullanılacak renklere bu dosyadan erişilir.
style.xml
color.xml
Kasım ADALAN 6
Float Action Button - FAB
Kasım ADALAN 7
Float Action Button - FAB
• FAB, ekranda sabit durabilen diğer görsel
nesnelerin üzerinde durabilen bir nesnedir.
• FAB’ı kullanabilmek için gerekli kütüphaneler
indirilir.
Kasım ADALAN 9
FAB Animasyon
• FAB , animasyon eklemek için anim
klasörü oluşturulmalıdır.
• Oluşturulan klasöre nasıl bir animasyon
yapılacak ise ilgili xml dosyalar
oluşturulur.
Kasım ADALAN 10
FAB Animasyon
• Bir fab her zaman
görünecek.
• Bu fab tıklanıldığın
görünmez olan diğer iki fab
ortaya çıkacaklar.
• Bu ortaya çıkma işlemi
animasyon ile
gerçekleşecek.
Kasım ADALAN 11
FAB Animasyon
fabIkinci
fabBirinci
fabMain
Kasım ADALAN 12
FAB’ın Activity içerisine bağlanması
Kasım ADALAN 13
fabMain’in açık mı
kapalı mı durum
kontrolü için
değişken.
Animasyonların
Activity’e
bağlanması.
Kasım ADALAN 14
EditText için Floating Labels
Kasım ADALAN 15
• EditText üzerine tıklanıldığında edittext içerisindeki
placeholder’ın animasyolu olarak hareket etmesi.
• İlgili kütüphaneler indirilir.
• Activity içerisinde çalışırken normal EditText süreci
geçerlidir.
• Sadece animasyon kazandırmaktadır.
Kasım ADALAN 16
Android Giriş kontrolleri
Kasım ADALAN 17
Boş mu Dolu mu ? ve White Space ?
Return kullanmamızın anlamı hata olduğunda içerisinde bulunduğu metodun çalışmasını durdur..
Kasım ADALAN 19
İlgili veri kontrolü
Kasım ADALAN 20
Toolbar
Kasım ADALAN 21
ToolBar
icon Menü
• Toolbar, android sayfasının en üstünde
bulunan bir görsel nesnedir. Başlık
• Varsayılan olarak her sayfada Alt Başlık
gelmektedir.
• Toolbar üzerinde değişiklikler
yapabilmek için uygulama içerisinde
özel temamızı oluşturmalıyız.
• Özel tema oluşturulduktan sonra her
sayfa için kendimiz Toolbar eklemek
zorundayız.
Kasım ADALAN 22
Özel ToolBar Oluşturma
• 1. Tema içerisinde varsayılan olarak gelen Toolbar ve başlığı
kaldırılmalıdır.
Kasım ADALAN 23
2.Kendi ToolBar’ımızı ekleme
Kasım ADALAN 24
3. ToolBar’ımızı Activity’e bağlama
androidx
kütüphanesinden
import edildiğine
dikkat edilmelidir.
Kasım ADALAN 25
ToolBar Menu Ekleme
• Menu davranışları app:showAsAction= “” ile belirlenir.
• ifRoom : Toolbar’da yer varsa görünür yer kalmaz ise ikinci önceliğe
düşer.
• always : Toolbar’da ne olursa olsun yer alır.
• never : Varsayılan olarak toolbar’da görünmez ama menü içerisinde
görünür. ifRoom
Kasım ADALAN 26
Menu Tasarlama
Kasım ADALAN 27
Activity içerisinde Menu bağlama
1.ToolBar bağlama
2. Menu Bağlama
3. Menu
item’larına
tıklanarak olay
yakalama
Kasım ADALAN 28
Menu Olayının Yakalanması
Kasım ADALAN 29
Toolbar Arama Özelliği
Kasım ADALAN 30
ToolBar Arama Özelliği
• Toolbar oluşturulur.
• Toolbar’da arama resminin görünmesi için menu oluşturulmalıdır.
• ActionViewClass her zaman kodlama içindeki SearchView sınıfının import’u ile aynı
olmalıdır.
• Menu Item’ına
SearchView Sınıfı
eklenmelidir.
• Menu item’ı kayıp
olma özelliği
Kasım ADALAN
olmalıdır. 31
Activity İçeriği
Kasım ADALAN 33
Collapse Toolbar ToolBar
AppBarLayout
CoordinateLayout
Kasım ADALAN 34
ToolBar
AppBarLayout
CoordinateLayout
Kasım ADALAN 35
Collapse Resim Ekleme
• Görsel animasyonu artırmak için toolBar’a
çöken bir resim eklenebilir.
• Bu işlemi gerçekleştirebilmek için
CollapsingToolbarLayout kullanılır.
Kasım ADALAN 36
Collapse Resim
Ekleme
Kasım ADALAN 37
Collapse Toolbar’ın Activity içerisinde bağlanması
Kasım ADALAN 38
RecyclerView & CardView
Kasım ADALAN 39
RecyclerView & CardView
• Bu görsel nesneleri kullanmak için ilgili
kütüphaneler indirilmelidir.
• CardView satır tasarımı nesnesidir.
• RecyclerView listeleme nesnesidir.
• Sayfa ve cardView tasarımları ayrı yapılır.
Kasım ADALAN 40
RecyclerView & CardView
Kasım ADALAN 42
Detaylı Tasarım Örnek
Kasım ADALAN 43
RecycleView Liste Sayfası
Kasım ADALAN 44
Adapter Oluşturma
Kasım ADALAN 45
Dışarıdan veri alabilmek için Constructor
oluşturulur. Context Activity özelliklerine sahip
olmak için kullanılır.
Kasım ADALAN 47
RecycleView activity’ bağlanması.
RecycleView sayfa
üzerinde nasıl
görüneceği
belirlenir.
Kasım ADALAN 48
Recycler’i verimli kullanma yöntemi
Kasım ADALAN 49
RecycleView activity’ bağlanması. RecycleView sayfa
üzerinde nasıl
görüneceği
Veri Kümesinin ve Activity belirlenir.
özelliklerinin this aracılığıyla
adapter’a yüklenmesi.
Adapter’ın RecycleView
yüklenmesi.
Kasım ADALAN 51
LinearLayoutManager
• CardView’leri alt alta sıralar.
Kasım ADALAN 52
StaggeredGridLayoutManager
• CardView’leri GridView gibi sıralar.
• Bir satırda görünecek CardView miktarını
belirleyebiliriz.
• Dikey ve Yatay modu vardır.
• VERTICAL : Dikey
• HORIZONTAL : YATAY
Kasım ADALAN 53
StaggeredGridLayoutManager
• CardView’leri GridView gibi sıralar.
• Bir satırda görünecek CardView miktarını
belirleyebiliriz.
• Dikey ve Yatay modu vardır.
• VERTICAL : Dikey
• HORIZONTAL : YATAY
Kasım ADALAN 54
Pop Up Menu Oluşturma
Pop Up Menu için öncelikle menu tasarımı oluşturulmalıdır
Kasım ADALAN 55
Pop Up Menu Oluşturma
Adapter içerisinde Pop Up Menu oluşturulur.
Kasım ADALAN 57
Tabs Layout
• Her bir Tab içeriği Fragment’lardan oluşan
bir tasarım nesnesidir.
Kasım ADALAN 58
Tabs Layout Constraint Layout
Oluşturma ToolBar
TabLayout
ViewPager TabsLayout
içerisinde kullanılacak
Fragment’ları
tutmaktadır. CoordinateLayout
ViewPager
Kasım ADALAN 59
Constraint Layout
ToolBar
TabLayout
CoordinateLayout
ViewPager
ViewPager
Fragment’lar ViewPager TabsLayout
Adapter
Kasım ADALAN 62
Fragmet Layout Oluşturma
• Fragment’lar için bir sınıf ve bir adet Layout
oluşturuyoruz.
Kasım ADALAN 63
Fragmet Sınıfı Oluşturma
İmport edilecek Fragment sınıfı aşağıdadır.
Kasım ADALAN 64
Tabs Layout ViewPager Adapter oluşturma
Kasım ADALAN 65
Activity İçerisinde Kod Yazımı
Fragment’lar
ViewPager
Adapter
Fragment’ın
Adapter’a
yükleniyor ViewPager
Kasım ADALAN 67
Bottom Navigation View
Bottom navigation view , tab layout gibi çalışan bir yapıdır.
Sayfanın altında çalışacak şekilde tasarlanmıştır.
Tablayout gibi parmak hareketi ile yapılan kaydırma işlemine duyarlı değildir.
Kasım ADALAN 68
Bottom Navigation View
1. Bottom navigation için menu oluşturulmalıdır.
bottombarmenu.xml
Kasım ADALAN 69
Bottom Navigation View
2. Bottom navigation tasarıma yerleştirilir ve menu bottom navigation’a eklenir.
Kasım ADALAN 70
Fragmet Layout Oluşturma
• Fragment’lar için bir sınıf ve bir adet Layout
oluşturuyoruz.
Kasım ADALAN 71
Fragmet Sınıfı Oluşturma
İmport edilecek Fragment sınıfı aşağıdadır.
Kasım ADALAN 72
Activity içerisinde bar button’ların dinlenmesi
Kasım ADALAN 73
Fragment’ların geçişlerinin yapılması
Kasım ADALAN 74
Navigation Drawer
Kasım ADALAN 75
Navigation Drawer
Kasım ADALAN 76
Navigation Drawer
• Menu Oluşturma 1
nav_menu.xml
Kasım ADALAN 77
Navigation Drawer
Kasım ADALAN 78
2 Navigation Drawer
Tasarım içinde navigation
açılmasını test için kullanılır.
FrameLayout Navigation
Itemlarına tıklandıkça açılacak
fragmentları gösterecek yapıdır.
Menu ekleme
Kasım ADALAN 79
Navigation Drawer’ın Açılması 3
• Bu aşamada navigation drawer toolbar üzerindeki butona basılarak
veya elimiz ile kaydırarak açıldığını test edebiliriz.
Kasım ADALAN 80
Navigation Drawer’ın Geri Tuşu İle Kapanması
• Daha iyi bir kullanıcı deneyimi için 4
Navigation Drawer açık ise geri tuşuna basılınca kapanması ,
kapalı ise uygulamadan çıkılmasını sağlamamız gereklidir.
Kasım ADALAN 81
Navigation View Menu Itemlerına
Tıklanılmasını Dinleme 5
• Oluşturduğumuz menu itemlarına tıklanınca fragment açılması gereklidir.
• Bu işlemi yapabilmek için itemların listener ile dinlenilmesi ve tıklanılmasının
yakalanması gereklidir.
Kasım ADALAN 82
Navigation View Menu Itemlerına
Tıklanılmasını Dinleme
Kasım ADALAN 83
Fragmet Layout Oluşturma
• Fragment’lar için bir sınıf ve bir adet Layout
oluşturuyoruz.
Kasım ADALAN 84
Fragmet Sınıfı Oluşturma
İmport edilecek Fragment sınıfı aşağıdadır.
Kasım ADALAN 85
Navigation View Menu Itemlerına
7
Tıklanıldığında Fragmentların Açılması
Kasım ADALAN 86
Kasım ADALAN 87
Başlık Oluşturma
• Navigation view üzerinde görünecek başlık ekleyebiliriz. 8
• Ayrı bir tasarım olarak hazırlanır.
• Kodlama yoluyla navigation üzerinde aktif hale getirilir.
navigation_baslik.xml
Kasım ADALAN 88
Başlığı Kodlama ile Ekleme
Kasım ADALAN 89
Shortcut
Kasım ADALAN 90
Shortcut
Kasım ADALAN 91
Res folder altında xml klasörü oluşturulur.
Kasım ADALAN 92
Oluşturulan res klasörü içerisine shorcuts.xml
dosyası oluşturulur.
• Xml klasörüne sağ tıklayarak new >> xml resource file
Kasım ADALAN 93
shortcuts.xml Not : Label’lar string dosyasından çekilmek zorundadır.
Kısayola tıklanıldığında
hangi activity’e
gideceğinin belirtilmesi
Acitivity
Kasım ADALAN 94
Android manifest
Kasım ADALAN 95
Teşekkürler...