Android Studio - Отключение кнопки «Назад» на панели навигации по умолчанию - PullRequest
0 голосов
/ 21 марта 2020

Итак, я создал задание по умолчанию для Навигационного окна и добавил свои собственные кнопки внизу, чтобы вручную изменить фрагмент.

Однако я не хочу, чтобы эти кнопки добавлялись в задний стек так, как я хочу в меню навигации всегда отображается меню гамбургера вместо кнопки «назад». По сути, я хочу отключить отображение кнопки «Назад» и стек, когда я изменяю фрагменты на панели навигации. Как бы мне этого добиться?

https://imgur.com/a/B8G0hqP

Это в навигационной активности в onCreate

        setContentView(R.layout.activity_navigation);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        DrawerLayout drawer = findViewById(R.id.drawer_layout);
        NavigationView navigationView = findViewById(R.id.nav_view);
        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
        mAppBarConfiguration = new AppBarConfiguration.Builder(
                R.id.nav_home, R.id.nav_projects,
                R.id.nav_tools, R.id.nav_share, R.id.nav_send)
                .setDrawerLayout(drawer)
                .build();
        this.navController = Navigation.findNavController(this, R.id.nav_host_fragment);
        NavigationUI.setupActionBarWithNavController(this, this.navController, mAppBarConfiguration);
        NavigationUI.setupWithNavController(navigationView, this.navController);

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

Используйте NavController.OnNavigatedListener для обновления значка панели инструментов.

val navController = Navigation.findNavController(this, R.id.fragment_main_navHost)
navController.addOnNavigatedListener(contoller, destination -> {
   if(destination.id == R.id.fragmentTwo){
          // update the toolbar here
}
    })
0 голосов
/ 22 марта 2020

Попробуйте:

getSupportActionBar().setDisplayHomeAsUpEnabled(false); 
getSupportActionBar().setDisplayShowHomeEnabled(false);
...