Поэтому я использую компонент навигации и одно действие. Я установил свою панель инструментов в свою MainActivity, используя этот код

    val navController = Navigation.findNavController(this,R.id.nav_host_fragment)

    val appBarConfiguration = AppBarConfiguration(setOf(
        R.id.destination_home,
        R.id.destination_search,
        R.id.destination_user_control,
        R.id.destination_create_event,
        R.id.destination_inbox,
      )
    )

    toolbar.setupWithNavController(navController,appBarConfiguration)

И теперь мне нужно реализовать сворачивающуюся панель инструментов в одном из фрагментов. но проблема в том, что мне нужно установить панель инструментов в XML внутри CollapsingToolbarLayout

Но xml панели инструментов, который у меня есть, находится в MainActivity.xml

Я должен поместить сворачивающуюся панель инструментов в мою MainActivity? если да, то это повлияет на весь мой фрагмент, верно? Я в замешательстве, что мне делать?

2
sarah 8 Апр 2020 в 06:34
Мне жаль. Я начинающий. Я пробовал читать. так что это никогда не сработает, и я должен определить панель инструментов в каждом фрагменте своей деятельности. я прав ?
 – 
sarah
8 Апр 2020 в 06:50
Может быть, вы можете добавить свою сворачивающуюся панель инструментов в свой фрагмент, и когда он (фрагмент) станет видимым для пользователя, вы должны скрыть панель инструментов активности? @Сара
 – 
faskN
20 Апр 2020 в 17:50

1 ответ

Отказ от ответственности: я тоже новичок, не уверен, что это правильный подход, но у меня сработало.

Я решил эту проблему, установив для свойства CollapsingToolbarLayout app:toolbarId тот же идентификатор, что и у панели инструментов MainActivity.

  1. MainActivity имеет следующую структуру:

DrawerLayout

-> Линейный макет

--> панель инструментов (id = myToolbar)

--> фрагмент

-> Навигация

  1. Фрагмент, который требует сворачиваемого содержимого:

CoordinatorLayout

-> Appbarlayout

--> CollapsingToolbarLayout (это ключ, устанавливающий для свойства app:toolbarId тот же идентификатор, что и в MainActivity 'myToolbar')

---> сворачиваемый контент, что угодно

-> остальная часть макета

0
RonaldPaguay 15 Мар 2021 в 10:21