Android 如何在不使用时间插值的情况下将动画效果应用于视图
我正在尝试使用触摸事件(当时)更改视图的位置、比例和alpha。当用户触摸视图并进行一些移动时,视图应受到影响。这就像通过触摸距离而不是时间应用组合动画 我还可以计算距离的插值。例如,如果我将手指移动到目标距离的一半,则插值值为0,5 实际上,我可以通过改变视图周围的边距来实现这一点,但它只适用于ImageView。否则,在应用效果期间,图元的位置会发生变化。(如RelativeLayout中的文本视图)Android 如何在不使用时间插值的情况下将动画效果应用于视图,android,animation,interpolation,Android,Animation,Interpolation,我正在尝试使用触摸事件(当时)更改视图的位置、比例和alpha。当用户触摸视图并进行一些移动时,视图应受到影响。这就像通过触摸距离而不是时间应用组合动画 我还可以计算距离的插值。例如,如果我将手指移动到目标距离的一半,则插值值为0,5 实际上,我可以通过改变视图周围的边距来实现这一点,但它只适用于ImageView。否则,在应用效果期间,图元的位置会发生变化。(如RelativeLayout中的文本视图) 所以我想我可以创建一个组合动画,使用我自己的插值代替时间插值。我希望这是可能的。我会按照以
所以我想我可以创建一个组合动画,使用我自己的插值代替时间插值。我希望这是可能的。我会按照以下方式做:
FrameLayout
并调用setWillNotDraw(false)代码>
FrameLayout
onDraw
方法中为位图执行正确的绘制和变换(位置、alpha、比例)
如果我可以应用自己的插值值,我想使用动画。我认为使用动画类的性能更好。是的,但动画类使用这个随时间变化的自定义插值器。因此,创建和设置自定义插值器并不能解决我的问题。我需要用距离而不是时间来应用效果。好吧,那么可能很难使用动画,我想你正在寻找基于变量的视图的适当变换?是的,没错。更改alpha和位置是可以的。但调整尺寸很难。