安卓APP中如何实现一张图片的缩放动画效果,在这里我们可以借助Animation中的ScaleAnimation来进行。
先来看一下ScaleAnimation的参数 :
ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
前面四个参数很好理解,图片的原大小可以设置为1.0f,如果图片从原大小开始,那么fromX和fromY就是1.0f。接着,如果你希望图片
进行放大。那么toX和toY就应该大于1.0f,如果缩小那么就应该小于1.0f。 X和Y分别代表横向缩放和纵向缩放。
重点是后面四个参数的意思,pivotXValue和pivotYValue可取值为
:Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or Animation.RELATIVE_TO_PARENT.
意思是图片是基于什么标准进行缩放的,absolute是绝对标准,RELETIVE_TO_SELF是根据自身标准,RELETIVE_TO_PARENT是根据父控件标准。
如果希望一张图片跟随其背景图片一起放大且保持相对位置不变,我们就可以选择RELETIVE_TO_PARENT.
如果要实现一张图片从自己的左下方或者右下方什么的位置进行缩放,就可以选择RELETIVE_TO_SELF.
pivotYValue和pivotXValue 可以设定具体的数值用来指定缩放的具体位置。
示例代码:
final ScaleAnimation animation1 = new ScaleAnimation(1.0f,1.3f,1.0f,1.3f,Animation.RELATIVE_TO_PARENT,-0.12f,Animation.RELATIVE_TO_PARENT,-0.16f); animation1.setDuration(moveTime); animation1.setFillAfter(true);