Переместите несколько элементов в один с помощью FragmentTransaction SharedElement. ⇐ Android
Переместите несколько элементов в один с помощью FragmentTransaction SharedElement.
Я использую компонент навигации Android Jetpack и хочу преобразовать несколько элементов в один при переходе между фрагментами с помощью FragmentTransaction SharedElement. Пример изображения: пример перехода
Я программно создаю определенное количество представлений (это число может варьироваться), добавляю их в контейнер (LinearLayout) и присоединяю onClickListener к каждому представлению.
При нажатии я присваиваю каждому представлению имя транзакции и добавляю его в раздел «Дополнительно»:
` частный развлекательный факторAnalysisOnClick(factorData: FactorData) {
val extrasBuilder = FragmentNavigator.Extras.Builder() привязка.факторАнализКонтейнер.дети.форЕач { избранное -> fav.transitionName = FAV_TRANSITION_NAME extrasBuilder.addSharedElement(fav, "factorAnalysisView") } extrasBuilder.addSharedElement(binding.actionBar, "statisticByFactorActionBar") extrasBuilder.addSharedElement(binding.title,"title") val extras = extrasBuilder.build() findNavController().navigate( R.id.action_statistics_to_statistics_by_factor, BundleOf( Пара (KEY_FACTOR_DATA, FactorData) ), нулевой, дополнительные услуги ) }` И я получаю ошибку: java.lang.IllegalArgumentException: общий элемент с целевым именем «factorAnalysisView» уже добавлен в транзакцию. в androidx.fragment.app.FragmentTransaction.addSharedElement(FragmentTransaction.java:679) в androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:435) в androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:398) ) в androidx.navigation.NavController.navigateInternal(NavController.kt:266) в androidx.navigation.NavController.navigate(NavController.kt:1867) в androidx.navigation.NavController.navigate(NavController.kt:1692) в site.pnpl .mira.ui.statistic.fragments.StatisticsFragment.factorAnalysisOnClick(StatisticsFragment.kt:171)
Я понимаю, что он имеет в виду, возможно, есть какой-то способ это реализовать? А может быть, есть другие способы добиться эффекта «сложенного» просмотра в момент перехода?
Я использую компонент навигации Android Jetpack и хочу преобразовать несколько элементов в один при переходе между фрагментами с помощью FragmentTransaction SharedElement. Пример изображения: пример перехода
Я программно создаю определенное количество представлений (это число может варьироваться), добавляю их в контейнер (LinearLayout) и присоединяю onClickListener к каждому представлению.
При нажатии я присваиваю каждому представлению имя транзакции и добавляю его в раздел «Дополнительно»:
` частный развлекательный факторAnalysisOnClick(factorData: FactorData) {
val extrasBuilder = FragmentNavigator.Extras.Builder() привязка.факторАнализКонтейнер.дети.форЕач { избранное -> fav.transitionName = FAV_TRANSITION_NAME extrasBuilder.addSharedElement(fav, "factorAnalysisView") } extrasBuilder.addSharedElement(binding.actionBar, "statisticByFactorActionBar") extrasBuilder.addSharedElement(binding.title,"title") val extras = extrasBuilder.build() findNavController().navigate( R.id.action_statistics_to_statistics_by_factor, BundleOf( Пара (KEY_FACTOR_DATA, FactorData) ), нулевой, дополнительные услуги ) }` И я получаю ошибку: java.lang.IllegalArgumentException: общий элемент с целевым именем «factorAnalysisView» уже добавлен в транзакцию. в androidx.fragment.app.FragmentTransaction.addSharedElement(FragmentTransaction.java:679) в androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:435) в androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:398) ) в androidx.navigation.NavController.navigateInternal(NavController.kt:266) в androidx.navigation.NavController.navigate(NavController.kt:1867) в androidx.navigation.NavController.navigate(NavController.kt:1692) в site.pnpl .mira.ui.statistic.fragments.StatisticsFragment.factorAnalysisOnClick(StatisticsFragment.kt:171)
Я понимаю, что он имеет в виду, возможно, есть какой-то способ это реализовать? А может быть, есть другие способы добиться эффекта «сложенного» просмотра в момент перехода?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение