Artem
Artem

Reputation: 4639

Activity content transition doesn't work

I want to start Activity with content transition. But the content transition doesn't work. Why and how to fix it?

This is my code:

class PolishStartActivity : AbsActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        initContentTransition()
        setContentView(R.layout.activity_polish_start)
    }

    private fun initContentTransition() {
        window.apply {
            requestFeature(Window.FEATURE_CONTENT_TRANSITIONS)
            enterTransition = TransitionSet().apply {
                addTransition(Slide(Gravity.TOP).addTarget(R.id.tvBooksTitle).addTarget(R.id.tvBooksDescription))
                addTransition(Fade().addTarget(R.id.cvSearchBox))
                // addTransition(Fade()) only this transition works fine 
                duration = 1000L
            }
        }
    }
}

P.S. I start my Activity with ActivityOptions.

Upvotes: 1

Views: 332

Answers (2)

Artem
Artem

Reputation: 4639

After many attempts and experiments, I found the fix for this problem.

On my root ViewGroup (in my case it is ConstraintLayout) add this line:

android:transitionGroup="false"

Yes! Now you can set targets for transitions and it will be work!

Upvotes: 2

Ankita
Ankita

Reputation: 1149

Put initContentTransition() before super.onCreate();

    class PolishStartActivity : AbsActivity() 
   {
        override fun onCreate(savedInstanceState: Bundle?) 
        {
            initContentTransition()
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_polish_start)
        }
       ..................
       ..................
}

Upvotes: 0

Related Questions