原文:Android View的動畫效果,上移展示和下移隱藏-Stars-One的雜貨小窩 項目里的一個小需求(實際是要和手勢操作一起,上滑和下拉觸發此動畫效果),記錄一下 PS: 本篇先記錄下動畫效果,下篇再將如何監聽滑動手勢 效果 原理 實際通過View的translationY的屬性來實現 上 ...
項目里的一個小需求(實際是要和手勢操作一起,上滑和下拉觸發此動畫效果),記錄一下
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()
提問之前,請先看提問須知 點擊右側圖標發起提問 或者加入QQ群一起學習 TornadoFx學習交流群:1071184701