Android Studio 2019 Navigation Drawer kullanımı, activityler arası gezinme
Herkese merhaba.
Daha önce android studio ile android uygulaması geliştirmek üzere bir çok örnek ve ders yayınlamıştım. Android Studio gün geçtikçe yenileniyor ve kolaylaşıyor. Navigation Drawer oluşturma ve activity ler arası gezinme artık çok kolay. Bunun üzerine bir örnek yapalım.
Öncelikle yeni bir proje oluşturalım.
Yeni proje için minimum level olarak Android lollipopu seçiyorum.
Daha sonrasında da Android studio içerisindeki hazır activitylerden navigation draweri seçiyorum. Aşağıdaki resimde görebilirsiniz.
Proje açıldıktan sonra Navigation Drawer hazır olarak geliyor. Avd Manager ile emulatörü çalıştırıp MainActivity i run düğmesi ile çalıştırdığımızda sonucu görebiliriz.
res klasörü içerisindeki menu klasöründeki activity_main_drawer dosyasında menüdeki metinleri değiştirebiliriz.
Şimdi de yeni bir activity oluşturup menu içerisindeki itemlardan ona bağlantı verelim.
Yeni bir activity oluşturmak için;
Oluşturduğumuz Activtye bağlantı verdikten sonra sol üstte geri dön düğmesi olması için üst activitysini seçmemiz gerekiyor. Alttaki resimden görebilirsiniz.
Oluşturduğum yeni activity Main2Activity ismine sahip. MainActivity dosyasındaki kodlar içerisinde drawerdaki menünün maddelerine tıklandığında yapılacak işlemler mevcut.
Camera linkine tıklandığında yeni oluşturduğumuz activitye gitsin. Bunun için bir intent oluşturup o activitye gitmesini sağlıyorum. Yazacağınız kodlar aşağıda;
camera import bağlantısına tıklayınca yeni activty i açıyor ve sol üstte geri dön butonu çıkıyor, geri dönülebiliyor. Bu kadar basit.
İyi Kodlamalar 😉
Merhaba hocam. Android Studio son sürüm kullanıyorum. MainActivity içinde if else komutları yok sadece bu komutlar var ama anlayamadım bir türlü yardımcı olur musunuz ?
package com.example.deneme
import android.os.Bundle
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.snackbar.Snackbar
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.navigateUp
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import androidx.drawerlayout.widget.DrawerLayout
import com.google.android.material.navigation.NavigationView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import android.view.Menu
class MainActivity : AppCompatActivity() {
private lateinit var appBarConfiguration: AppBarConfiguration
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
val fab: FloatingActionButton = findViewById(R.id.fab)
fab.setOnClickListener { view ->
Snackbar.make(view, “Replace with your own action”, Snackbar.LENGTH_LONG)
.setAction(“Action”, null).show()
}
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val navView: NavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
appBarConfiguration = AppBarConfiguration(
setOf(
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow,
R.id.nav_tools, R.id.nav_share, R.id.nav_send
), drawerLayout
)
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.main, menu)
return true
}
override fun onSupportNavigateUp(): Boolean {
val navController = findNavController(R.id.nav_host_fragment)
return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
}
}