要从左到右比例应用按钮,我使用了以下代码。我的按钮位于布局右侧。我希望按钮应该从它的右X位置开始,并缩放到左X位置如何实现这个?
view.startAnimation(new ScaleAnimation(0.0f, 1.0f, 1.0f, 1.0f));
答案 0 :(得分:17)
您需要将起点设置为中间右侧,您还需要设置动画的持续时间,如下所示:
ScaleAnimation anim = new ScaleAnimation(0.0f, 1.0f, 1.0f, 1.0f, Animation.RELATIVE_TO_SELF,1.0f, Animation.RELATIVE_TO_SELF, 0.5f);
anim.setDuration(700);
view.startAnimation(anim);
在您的情况下,Y起始位置并不重要。
如果你没有读到这个构造函数:
public ScaleAnimation(float fromX,float toX,float fromY,float toY,int pivotXType,float pivotXValue,int pivotYType,float pivotYValue)
自:API Level 1
从代码
构建ScaleAnimation时使用的构造方法参数:
fromX:要在动画开头应用的水平缩放系数
toX:在动画结束时应用的水平缩放系数
fromY:在动画开头应用的垂直缩放系数
toY:在动画结束时应用的垂直缩放系数
pivotXType:指定应如何解释pivotXValue。 Animation.ABSOLUTE,Animation.RELATIVE_TO_SELF之一,或 Animation.RELATIVE_TO_PARENT。
pivotXValue:对象被缩放的点的X坐标,指定为绝对数字,其中0为左 边缘。 (当对象改变大小时,此点保持固定。)这 如果 pivotXType 是ABSOLUTE,则值可以是绝对数,或者a 百分比(其中1.0是100%)否则。
pivotYType:指定应如何解释 pivotYValue 。 Animation.ABSOLUTE,Animation.RELATIVE_TO_SELF之一,或 Animation.RELATIVE_TO_PARENT。
pivotYValue:对象缩放的点的Y坐标,指定为绝对数字,其中0为顶部 边缘。 (当对象改变大小时,此点保持固定。)这 如果 pivotYType 是ABSOLUTE,则值可以是绝对数,或者a 百分比(其中1.0是100%)否则。