Projemize bir drawer menü ekledik. Siz de kodları benim ile beraber yazıyorsanız drawer üzerinde hangi elemana basarsanız basın bir şey olmadığını fark edeceksiniz. Sonuç olarak yazılım geliştirme o kadar gelişmedi henüz o olayları kodlamadık. Drawer event eklemek bu yazıdaki görevimiz.
Drawer Event Eklemek Adımları
MainActivity Java kodlarına gidelim. Bu kodlara NavigationView ekleyelim. Drawer üzerine bu sınıf sayesinde bir dinleyici koyalım ve drawer menüsündeki hareketleri bu dinleyici sayesinde izleyelim. Bu işleri yapmak için drawerı tanıttıktan sonra şu kodları ekleyebilirsiniz.
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
Tabi bu işlemi yapabilmek için Main classınıza NavigationView.OnNavigationItemSelectedListener özelliğini implemente etmeniz ve bunun direteceği fonksiyonu overwrite yapmanız gerekmektedir.
Overwrite yapacağınız fonksiyon size drawer menüsünde hangi elemanın tıklandığını söyleyen fonksiyondur. Bu fonksiyon sayesinde tıklanan elemanı yakalayabilir ve ona göre işlem yapabilirsiniz. Overwrite işlemi sonrası fonksiyondan true diye değer döndürmeyi unutmayın.
Ben örnek olması açısından menüde seçilen elemanın adını ekrana Toast mesajı şeklinde vereceğim ve ardından menüyü kapatacağım.
İlerleyen süreçlerde ekranda bulunan yazıları buradan seçilen kategoriye göre filtreleyeceğim. Ancak bana göre en önemlisi menü üzerinden hangisinin basıldığını anlamaktı. Buradan sonrası sizin hayal gücünüze kalmıştır. Siz isterseniz ekrana bir fragment basabilir ya da başka bir activity açabilirsiniz.
Projenin ilerleyişini görmek ve kendi Android geliştirme yeteneğinizi geliştirmek için kategoriye ait yazılara bakabilirsiniz. Projenin tüm kodlarına projenin GitHub sayfasından ulaşabilirsiniz.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.