动画后视图闪烁

问题描述 投票:0回答:1

我对任何类型的动画都有疑问。我想制作实质性的横幅广告行为,但要使用其他动画。实际上我得到了结果,但是问题是动画后视图在闪烁。我的代码:

第一个例子:

val anim = TranslateAnimation(1f, 1f, 1f, 0f)
anim.duration = 300
banner.startAnimation(anim)
banner.visibility = View.INVISIBLE

第二示例

val mTransition = Slide(Gravity.END)
mTransition.setDuration(300)
mTransition.addTarget(banner)

TransitionManager.beginDelayedTransition(banner, mTransition)
banner.setVisibility(View.GONE)

有人可以解释如何避免view闪烁及其发生原因。

android android-animation android-transitions translate-animation
1个回答
0
投票

问题出在代码banner.visibility = View.INVISIBLEbanner.setVisibility(View.GONE)上。尝试将其删除。

如果想要banner,动画结束后消失。尝试在动画上添加一个侦听器,并在动画结束后隐藏banner

        val anim = TranslateAnimation(1f, 1f, 1f, 0f)
        anim.duration = 300
        anim.setAnimationListener(object : Animation.AnimationListener {
            override fun onAnimationRepeat(animation: Animation?) {

            }

            override fun onAnimationEnd(animation: Animation?) {
                // banner.visibility = View.INVISIBLE
                // or
                // banner.setVisibility(View.GONE)
            }

            override fun onAnimationStart(animation: Animation?) {
            }

        })
© www.soinside.com 2019 - 2024. All rights reserved.