活动内容转换无效

时间:2018-07-06 06:03:52

标签: android android-activity android-transitions

我想从内容过渡开始Activity。但是内容转换不起作用。为什么以及如何解决?

这是我的代码:

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。我从Activity开始ActivityOptions

2 个答案:

答案 0 :(得分:1)

经过多次尝试和实验,我找到了解决此问题的方法。

在我的根ViewGroup(在我的情况下是ConstraintLayout)上添加以下行:

android:transitionGroup="false"

是的!现在,您可以设置targets进行过渡了,这样就可以了!

答案 1 :(得分:0)

super.onCreate()之前将 initContentTransition();

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