Android View的動畫效果,上移展示和下移隱藏

原文:Android View的動畫效果,上移展示和下移隱藏-Stars-One的雜貨小窩

項目裏的一個小需求(實際是要和手勢操作一起,上滑和下拉觸發此動畫效果),記錄一下

PS: 本篇先記錄下動畫效果,下篇再將如何監聽滑動手勢

效果

原理

實際通過View的translationY的屬性來實現

上移代碼

val animate = rootView.animate().translationY(0f).setDuration(300)
animate.withStartAction {
	//注意這裏,要展示動畫需要將view顯示出來再開始展示動畫,否則不會有效果哦!
	rootView.visibility = View.VISIBLE
}
animate.withEndAction { rootView.visibility = View.VISIBLE }

animate.start()

PS: withEndAction方法實際也是設置一個監聽器,和下面的代碼等效:

animate.setListener(object : Animator.AnimatorListener {
	override fun onAnimationStart(animation: Animator) {
		//注意這裏,要展示動畫需要將view顯示出來再開始展示動畫,否則不會有效果哦!
		rootView.visibility = View.VISIBLE
	}

	override fun onAnimationEnd(animation: Animator) {
		rootView.visibility = View.VISIBLE
	}

	override fun onAnimationCancel(animation: Animator) {
	}

	override fun onAnimationRepeat(animation: Animator) {
	}

})

下移代碼

val animate = rootView.animate().translationY(rootView.height.toFloat()).setDuration(300)
animate.withEndAction { rootView.visibility = View.INVISIBLE }
animate.start()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章