我对任何类型的动画都有疑问。我想制作实质性的横幅广告行为,但要使用其他动画。实际上我得到了结果,但是问题是动画后视图在闪烁。我的代码:
第一个例子:
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
闪烁及其发生原因。
问题出在代码banner.visibility = View.INVISIBLE
和banner.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?) {
}
})