Анимация ввода фрагмента не запускается при использовании нового FragmentStateManager

У меня есть действие, которое добавляет фрагмент внутрь своего onCreate метод

      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)
        
        addFragment()
}


private fun addFragment() {
        with (supportFragmentManager) {
            beginTransaction()
                    .setCustomAnimations(
                            R.anim.slide_fade_in_bottom, 
                            R.anim.slide_fade_scale_out_top, 
                            R.anim.slide_fade_scale_in_top, 
                            R.anim.slide_fade_out_bottom)
                    .replace(R.id.fragment_container, BlankFragment())
                    .addToBackStack("Tag")
                    .commit()
        }
    }

Я использую последнюю версию фрагмента из

      implementation 'androidx.fragment:fragment-ktx:1.3.2'

Когда я запускаю приложение, анимация ввода не видна. Хотя, если я отключу FragmentStateManager, он сработает

      FragmentManager.enableNewStateManager(false)

Это также работает, когда я добавляю фрагмент с помощью обработчика

       Handler(Looper.getMainLooper()).post {
            addFragment()
 }

в этом случае можно включить FragmentStateManager.

Как правильно запустить анимацию ввода для фрагмента, добавленного внутри onCreate? Спасибо.

0 ответов

Другие вопросы по тегам