使用LiveData向状态更改添加动画

时间:2018-08-15 05:24:54

标签: android android-animation android-transitions android-livedata

例如,我有一个更改可见性的AppBar。现在在我的ViewModel中,我有一个MutableLiveData,如下所示:

val appbarVisibilityLiveData = MutableLiveData<Int>()

现在,可以在“片段/活动”中观察到此LiveData,然后像这样更改AppBar的可见性:

vm.appbarVisibilityLiveData.observe(this, Observer { appbar.visibility = it })

现在,我意识到当可见性状态发生变化时我想要一些动画,所以我添加了以下内容:

vm.appbarVisibilityLiveData.observe(this, Observer { 
    TransitionManager.beginDelayedTransition(container, someTransition)
    appbar.visibility = it 
})

但是后来我意识到,当我希望根据触发可见性状态变化的情况运行不同的过渡动画时,该怎么办?我想要一个实例的SlideUp动画和另一个实例的淡入淡出效果怎么样?我该如何实现?

0 个答案:

没有答案