单击时的过渡动画(从底部显示并回到底部)-Android

时间:2020-04-20 20:07:15

标签: android android-layout kotlin android-animation android-transitions

当用户单击“收藏夹”图标时,我正在制作动画,其他视图将从上向下滑动,然后向下滑动(显示和隐藏)。

问题:我正在使用可能导致内存泄漏的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中支持在一个过渡中显示/隐藏的内容? 预先感谢。

0 个答案:

没有答案