BasePopup icon indicating copy to clipboard operation
BasePopup copied to clipboard

弹窗的Animator动画属性复原问题

Open developerzjy opened this issue 1 year ago • 1 comments

使用onCreateDismissAnimator执行缩放平移消失动画后,再次调用showPopupWindow()显示弹窗,此时显示的是上次dismiss属性动画结束后的状态(缩放+平移后的状态),有自动恢复属性的方法吗。

我的需求是:弹窗展示的时候正常弹出,不需要任何动画,关闭弹窗的时候弹窗执行一个缩放平移动画到界面上的一个小button的位置,点击button的时候再次显示弹窗,显示弹窗不需要动画。

想到的解决办法有一些: 1.每次显示弹窗都新创建一个弹窗,不再复用旧弹窗 2.使用onCreateShowAnimator实现一个对应的显示弹窗动画

请问有更好的解决办法吗

developerzjy avatar Apr 25 '24 11:04 developerzjy

animator本身就会改变view属性,建议Animatorlistener,在start中记录初始属性,结束后恢复。 如果想更简单,建议用valueanimator,因为所有的动画属性都可以视为0%~100%的过程,恢复初始值就只需要设置回0%即可。

razerdp avatar Apr 29 '24 03:04 razerdp