Skip to main content

Posts

Showing posts with the label navigation back buton

Controlling Back button Behavior in Fragment-- kotlin

when user navigates in an application android maintains back stack of destinations . This allows android to go back to previous destination when user clicks back button . some  times we  need to implement our own back button behavior  for best user experience . For example  if we are in a timer based quiz  application . when the user clicks on the back button if we go back to the previous destination without stopping  the counter , it will crash  the application . So first we need to know whether the  user  pressed the back button accidentally or not by  using a dialogue box . If the user want to go back to previous destination  we need to stop the counter and  then go back to the previous destination. We can control the back button hahavior byusing OnBackPressedDispatcher  . This controls how back button events are dispatched to one or more onBackPressedCallback objects . callbacks are added using addCallback methods. e...

Hiding App bar in a particular fragment with Navigation UI

If you are using navigation UI in your application , if you want to hide your app bar (top bar of your app showing navigation icon)  or back navigation arrow in a particular fragment you can do like this in your Mainactivity class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() { private lateinit var drawerlayout : DrawerLayout private lateinit var navView : NavigationView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) drawerlayout = findViewById(R.id.drawer_layout) navView = findViewById(R.id.nav_view) val navController : NavController = this.findNavController(R.id.navhost) NavigationUI.setupActionBarWithNavController(this,navController,drawerlayout) NavigationUI.setupWithNavController(navView,navController) navController.addOnDestinationChangedListener { _, destination, _ -> if(d...