当用户单击“收藏夹”图标时,我正在制作动画,其他视图将从上向下滑动,然后向下滑动(显示和隐藏)。
问题:我正在使用可能导致内存泄漏的Handler,我正在寻找一种好的方法。如果我不使用处理程序,则它可以正确向上滑动,但是可以正确向下滑动,只需隐藏即可。我正在适配器的项目中使用此视图。
XML:
科特琳:ViewState.kt
fn main() {
let window = Window { id: 0 };
test(move || window.get_image());
}
XML文件:
class ViewState {
@Bindable
var addedToFavoritesVisibility: Int = View.GONE
set(value) {
field = value
notifyPropertyChanged(BR.addedToFavoritesVisibility)
}
fun favoriteClicked(button: Button, boolean: Boolean, visibility: Int = View.VISIBLE) {
favorite = boolean
val transitionListener = object : Transition.TransitionListener {
override fun onTransitionEnd(transition: Transition) {
transition.removeListener(this)
android.os.Handler().postDelayed({ favoriteClicked(button, favorite, visibility = View.GONE) }, 1000)
}
override fun onTransitionResume(transition: Transition) {}
override fun onTransitionPause(transition: Transition) {}
override fun onTransitionCancel(transition: Transition) {}
override fun onTransitionStart(transition: Transition) {}
}
val transition: Transition = Slide().apply {
slideEdge = Gravity.BOTTOM
duration = animationDuration
addTarget(R.id.tv_added_to_favorites)
if (visibility == View.VISIBLE) {
addListener(transitionListener)
}
}
TransitionManager.beginDelayedTransition(button.parent.parent as ViewGroup, transition)
addedToFavoritesVisibility = visibility
}
}
我想知道是否缺少动画api中支持在一个过渡中显示/隐藏的内容? 预先感谢。