Вот что я пробовал на данный момент:
- Базовая активность в режиме Edge-to-Edge:
- Включение сквозного режима в базовом действии обеспечивает сквозное соединение всех фрагментов.
< /li>
Пример: HomeFragment с от края до края
- Включение сквозного режима в базовом действии обеспечивает сквозное соединение всех фрагментов.
- Проблема в других фрагментах:
- Другие фрагменты также наследуют Edge- режим до края, который мне не нужен.
- Пример: нежелательный режим «от края до края» в другом фрагменте
Код: Выделить всё
@AndroidEntryPoint class SimActivity : AppCompatActivity() { private val binding by lazy { ActivitySimBinding.inflate(layoutInflater) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(binding.root) enableEdgeToEdge() setupBottomNavs() } private fun setupBottomNavs(){ binding.bottomNav.selectedItemId = R.id.homeFragment // Set the default selected item to home setFragment(HomeFragment()) binding.bottomNav.setOnItemSelectedListener(object : NavigationBarView.OnItemSelectedListener { override fun onNavigationItemSelected(newTab: MenuItem): Boolean { when (newTab.itemId) { R.id.homeFragment -> { switchFragment(HomeFragment()) return true } R.id.ordersFragment -> { switchFragment(OrdersFragment()) return true } R.id.saleFragment -> { switchFragment(SaleFragment()) return true } } return false } }) } private fun setFragment(homeFragment: HomeFragment) { supportFragmentManager .beginTransaction() .add(R.id.frameLayout,homeFragment) // Add this line .commitNow() } private fun switchFragment(fragment: Fragment) { val transaction = supportFragmentManager.beginTransaction() for (existingFragment in supportFragmentManager.fragments) { transaction.hide(existingFragment) } var showFragment = supportFragmentManager.findFragmentByTag(fragment.javaClass.simpleName) if (showFragment == null) { showFragment = fragment transaction.add(R.id.frameLayout, showFragment, fragment.javaClass.simpleName) } else { transaction.show(showFragment) } transaction.commitAllowingStateLoss() } }
Подробнее здесь: https://stackoverflow.com/questions/787 ... id-with-bo