Поэтому я использую компонент навигации и одно действие. Я установил свою панель инструментов в свою 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? если да, то это повлияет на весь мой фрагмент, верно? Я в замешательстве, что мне делать?
1 ответ
Отказ от ответственности: я тоже новичок, не уверен, что это правильный подход, но у меня сработало.
Я решил эту проблему, установив для свойства CollapsingToolbarLayout app:toolbarId тот же идентификатор, что и у панели инструментов MainActivity.
- MainActivity имеет следующую структуру:
DrawerLayout
-> Линейный макет
--> панель инструментов (id = myToolbar)
--> фрагмент
-> Навигация
- Фрагмент, который требует сворачиваемого содержимого:
CoordinatorLayout
-> Appbarlayout
--> CollapsingToolbarLayout (это ключ, устанавливающий для свойства app:toolbarId тот же идентификатор, что и в MainActivity 'myToolbar')
---> сворачиваемый контент, что угодно
-> остальная часть макета
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.